summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authors <[email protected]>2025-11-03 21:17:12 -0500
committers <[email protected]>2025-11-03 21:17:12 -0500
commit923d6aece0b508c303393b23e8f605d63f46835f (patch)
tree65b629c84a20d9cb1f34ba16797dbbe8861a7a91 /docs
downloaddborg-923d6aece0b508c303393b23e8f605d63f46835f.tar.gz
dborg-923d6aece0b508c303393b23e8f605d63f46835f.zip
hi
Diffstat (limited to 'docs')
-rw-r--r--docs/doc.json1444
1 files changed, 1444 insertions, 0 deletions
diff --git a/docs/doc.json b/docs/doc.json
new file mode 100644
index 0000000..306d077
--- /dev/null
+++ b/docs/doc.json
@@ -0,0 +1,1444 @@
+{
+ "schemes": [],
+ "swagger": "2.0",
+ "info": {
+ "description": "API server for DB.org.ai services",
+ "title": "DB.org.ai API",
+ "termsOfService": "http://swagger.io/terms/",
+ "contact": {
+ "name": "API Support",
+ "url": "http://www.db.org.ai/support",
+ "email": "[email protected]"
+ },
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
+ },
+ "version": "1.0"
+ },
+ "host": "db.org.ai",
+ "basePath": "/",
+ "paths": {
+ "/admin/accounts": {
+ "get": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Get a list of all accounts",
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "admin"
+ ],
+ "summary": "List accounts",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/main.AccountResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Create a new user account with API key",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "admin"
+ ],
+ "summary": "Create account",
+ "parameters": [
+ {
+ "description": "Account details",
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/main.CreateAccountRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/main.AccountResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/accounts/{api_key}": {
+ "delete": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Delete an account by API key",
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "admin"
+ ],
+ "summary": "Delete account",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Account API Key",
+ "name": "api_key",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/accounts/{api_key}/credits": {
+ "put": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Set account credits to a specific amount",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "admin"
+ ],
+ "summary": "Set credits",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Account API Key",
+ "name": "api_key",
+ "in": "path",
+ "required": true
+ },
+ {
+ "description": "Credits amount to set",
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/main.SetCreditsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/main.AccountResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Add credits to an existing account",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "admin"
+ ],
+ "summary": "Add credits",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Account API Key",
+ "name": "api_key",
+ "in": "path",
+ "required": true
+ },
+ {
+ "description": "Credits to add",
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/main.AddCreditsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/main.AccountResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/accounts/{api_key}/disable": {
+ "patch": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Disable or enable an account by setting the disabled flag",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "admin"
+ ],
+ "summary": "Disable/Enable account",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Account API Key",
+ "name": "api_key",
+ "in": "path",
+ "required": true
+ },
+ {
+ "description": "Disable status",
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/main.DisableAccountRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/main.AccountResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/npd/search": {
+ "get": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Search NPD breach data by various fields",
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "npd"
+ ],
+ "summary": "Search NPD breach data",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "ID",
+ "name": "id",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "First name",
+ "name": "firstname",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Last name",
+ "name": "lastname",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Middle name",
+ "name": "middlename",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Date of birth",
+ "name": "dob",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Social security number",
+ "name": "ssn",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Phone number",
+ "name": "phone1",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Address",
+ "name": "address",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "City",
+ "name": "city",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "State",
+ "name": "st",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "ZIP code",
+ "name": "zip",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "County name",
+ "name": "county_name",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Name suffix",
+ "name": "name_suff",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "AKA 1 full name",
+ "name": "aka1fullname",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "AKA 2 full name",
+ "name": "aka2fullname",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "AKA 3 full name",
+ "name": "aka3fullname",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Alternate DOB 1",
+ "name": "alt1dob",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Alternate DOB 2",
+ "name": "alt2dob",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Alternate DOB 3",
+ "name": "alt3dob",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Start date",
+ "name": "startdat",
+ "in": "query"
+ },
+ {
+ "type": "integer",
+ "default": 10,
+ "description": "Maximum number of hits to return",
+ "name": "max_hits",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Sort by field",
+ "name": "sort_by",
+ "in": "query"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/api.NPDSearchResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_npd_api.ErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_npd_api.ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/osint/bssid/{bssid}": {
+ "get": {
+ "description": "Lookup geographic location of a WiFi access point by its BSSID (MAC address) using Apple's location services. Returns latitude/longitude coordinates.",
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "osint"
+ ],
+ "summary": "BSSID Location Lookup",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "BSSID/MAC address (format: aa:bb:cc:dd:ee:ff)",
+ "name": "bssid",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "boolean",
+ "default": false,
+ "description": "Show all related results instead of exact match only (alias for 'all')",
+ "name": "a",
+ "in": "query"
+ },
+ {
+ "type": "boolean",
+ "default": false,
+ "description": "Show all related results instead of exact match only",
+ "name": "all",
+ "in": "query"
+ },
+ {
+ "type": "boolean",
+ "default": false,
+ "description": "Include Google Maps URL for the location",
+ "name": "map",
+ "in": "query"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/api.BSSIDLookupResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_bssidx_api.ErrorResponse"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_bssidx_api.ErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_bssidx_api.ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/osint/username/{username}": {
+ "get": {
+ "description": "Check username availability across hundreds of websites using WhatsMyName dataset. Results are streamed as NDJSON (newline-delimited JSON) with each result containing the full profile URL.",
+ "produces": [
+ "application/x-ndjson"
+ ],
+ "tags": [
+ "osint"
+ ],
+ "summary": "Check username availability",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Username to check",
+ "name": "username",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "csv",
+ "description": "Specific sites to check (comma-separated)",
+ "name": "sites",
+ "in": "query"
+ },
+ {
+ "type": "boolean",
+ "default": false,
+ "description": "Enable fuzzy validation mode",
+ "name": "fuzzy",
+ "in": "query"
+ },
+ {
+ "type": "integer",
+ "default": 50,
+ "description": "Maximum concurrent tasks",
+ "name": "max_tasks",
+ "in": "query"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Stream of NDJSON results, each containing full profile URL in 'url' field",
+ "schema": {
+ "$ref": "#/definitions/api.SiteResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_usrsx_api.ErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_usrsx_api.ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/prem/skiptrace/email/{email}": {
+ "get": {
+ "tags": [
+ "skiptrace"
+ ],
+ "summary": "Search for email address",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Email address",
+ "name": "email",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "API Key (Premium Required)",
+ "name": "X-API-Key",
+ "in": "header",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Email report data",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "403": {
+ "description": "Premium access required",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ }
+ },
+ "/prem/skiptrace/people/report/{sx_key}/{selection}": {
+ "get": {
+ "tags": [
+ "skiptrace"
+ ],
+ "summary": "Get detailed report for selected person",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Search session key",
+ "name": "sx_key",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "integer",
+ "description": "Person selection (1-based index)",
+ "name": "selection",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "API Key (Premium Required)",
+ "name": "X-API-Key",
+ "in": "header",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed person report",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "403": {
+ "description": "Premium access required",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ }
+ },
+ "/prem/skiptrace/people/search": {
+ "get": {
+ "tags": [
+ "skiptrace"
+ ],
+ "summary": "Search for people by name",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "First name",
+ "name": "first_name",
+ "in": "query",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "Last name",
+ "name": "last_name",
+ "in": "query",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "City",
+ "name": "city",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "State (2-letter code)",
+ "name": "state",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Age",
+ "name": "age",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "API Key (Premium Required)",
+ "name": "X-API-Key",
+ "in": "header",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Search results with sx_key",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "403": {
+ "description": "Premium access required",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ }
+ },
+ "/prem/skiptrace/phone/{phone}": {
+ "get": {
+ "tags": [
+ "skiptrace"
+ ],
+ "summary": "Search for phone number",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Phone number (10 digits, no +1 prefix)",
+ "name": "phone",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "API Key (Premium Required)",
+ "name": "X-API-Key",
+ "in": "header",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Phone report data",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "403": {
+ "description": "Premium access required",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ }
+ },
+ "/sl/search": {
+ "get": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Search stealer logs",
+ "produces": [
+ "application/json",
+ "text/plain"
+ ],
+ "tags": [
+ "logs"
+ ],
+ "summary": "Search stealer logs",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Search query",
+ "name": "query",
+ "in": "query",
+ "required": true
+ },
+ {
+ "type": "integer",
+ "default": 10,
+ "description": "Maximum number of hits to return",
+ "name": "max_hits",
+ "in": "query"
+ },
+ {
+ "enum": [
+ "ingest_timestamp",
+ "date_posted"
+ ],
+ "type": "string",
+ "description": "Sort by field (ingest_timestamp or date_posted)",
+ "name": "sort_by",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Ingest timestamp start date (Quickwit date format, e.g., 'now-10d', '2025-01-01T00:00:00Z')",
+ "name": "ingest_start_date",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Ingest timestamp end date (Quickwit date format, e.g., 'now', '2025-12-31T23:59:59Z')",
+ "name": "ingest_end_date",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Date posted start date (Quickwit date format, e.g., 'now-10d', '2025-01-01T00:00:00Z')",
+ "name": "posted_start_date",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Date posted end date (Quickwit date format, e.g., 'now', '2025-12-31T23:59:59Z')",
+ "name": "posted_end_date",
+ "in": "query"
+ },
+ {
+ "type": "string",
+ "default": "json",
+ "description": "Response format: json (default) or custom format like 'ulp' (url:username:password), 'up' (url:password), 'pul' (password:url), etc.",
+ "name": "format",
+ "in": "query"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/api.QuickwitSearchResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_sl_api.ErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_sl_api.ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/x/search/{username}": {
+ "get": {
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "description": "Search for Twitter/X username history and previous usernames",
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "x"
+ ],
+ "summary": "Search username history",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "Twitter/X username to search",
+ "name": "username",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/api.SearchResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_x_api.ErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/db_org_ai_services_x_api.ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "api.BSSIDLookupResponse": {
+ "type": "object",
+ "properties": {
+ "bssid": {
+ "type": "string"
+ },
+ "map_url": {
+ "type": "string"
+ },
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/api.BSSIDResult"
+ }
+ }
+ }
+ },
+ "api.BSSIDResult": {
+ "type": "object",
+ "properties": {
+ "bssid": {
+ "type": "string"
+ },
+ "location": {
+ "$ref": "#/definitions/api.LocationInfo"
+ },
+ "map_url": {
+ "type": "string"
+ }
+ }
+ },
+ "api.LocationInfo": {
+ "type": "object",
+ "properties": {
+ "accuracy": {
+ "type": "integer"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ }
+ }
+ },
+ "api.NPDSearchResponse": {
+ "type": "object",
+ "properties": {
+ "credits": {
+ "$ref": "#/definitions/db_org_ai_services_npd_api.CreditsInfo"
+ },
+ "max_hits": {
+ "type": "integer"
+ },
+ "results": {}
+ }
+ },
+ "api.ProfileMetadata": {
+ "type": "object",
+ "properties": {
+ "additional_links": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "avatar_url": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "custom_fields": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "display_name": {
+ "type": "string"
+ },
+ "follower_count": {
+ "type": "integer"
+ },
+ "following_count": {
+ "type": "integer"
+ },
+ "is_verified": {
+ "type": "boolean"
+ },
+ "join_date": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "website": {
+ "type": "string"
+ }
+ }
+ },
+ "api.QuickwitSearchResponse": {
+ "type": "object",
+ "properties": {
+ "credits": {
+ "$ref": "#/definitions/db_org_ai_services_sl_api.CreditsInfo"
+ },
+ "max_hits": {
+ "type": "integer"
+ },
+ "results": {}
+ }
+ },
+ "api.SearchResponse": {
+ "type": "object",
+ "properties": {
+ "credits": {
+ "$ref": "#/definitions/db_org_ai_services_x_api.CreditsInfo"
+ },
+ "data": {},
+ "query": {
+ "type": "string",
+ "example": "elonmusk"
+ },
+ "response": {
+ "type": "string",
+ "example": "Username history found..."
+ }
+ }
+ },
+ "api.SiteResult": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "elapsed": {
+ "type": "number"
+ },
+ "error": {
+ "type": "string"
+ },
+ "metadata": {
+ "$ref": "#/definitions/api.ProfileMetadata"
+ },
+ "response_code": {
+ "type": "integer"
+ },
+ "site_name": {
+ "type": "string"
+ },
+ "status": {
+ "description": "Changed from result_status to match CLI output",
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "Changed from created_at to match CLI output",
+ "type": "string"
+ },
+ "type": {
+ "description": "Added type field from CLI output",
+ "type": "string"
+ },
+ "url": {
+ "description": "Changed from result_url to match CLI output - contains full profile URL",
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ }
+ },
+ "api.TwitterUsernameHistory": {
+ "type": "object",
+ "properties": {
+ "credits": {
+ "$ref": "#/definitions/db_org_ai_services_x_api.CreditsInfo"
+ },
+ "previous_usernames": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/api.UsernameEntry"
+ }
+ },
+ "username": {
+ "type": "string",
+ "example": "elonmusk"
+ }
+ }
+ },
+ "api.UsernameEntry": {
+ "type": "object",
+ "properties": {
+ "time_ago": {
+ "type": "string",
+ "example": "2 days ago"
+ },
+ "username": {
+ "type": "string",
+ "example": "elonmusk"
+ }
+ }
+ },
+ "db_org_ai_services_bssidx_api.ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ },
+ "db_org_ai_services_npd_api.CreditsInfo": {
+ "type": "object",
+ "properties": {
+ "remaining": {
+ "type": "integer"
+ },
+ "unlimited": {
+ "type": "boolean"
+ }
+ }
+ },
+ "db_org_ai_services_npd_api.ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ },
+ "db_org_ai_services_sl_api.CreditsInfo": {
+ "type": "object",
+ "properties": {
+ "remaining": {
+ "type": "integer"
+ },
+ "unlimited": {
+ "type": "boolean"
+ }
+ }
+ },
+ "db_org_ai_services_sl_api.ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ },
+ "db_org_ai_services_usrsx_api.ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ },
+ "db_org_ai_services_x_api.CreditsInfo": {
+ "type": "object",
+ "properties": {
+ "remaining": {
+ "type": "integer",
+ "example": 999
+ },
+ "unlimited": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ },
+ "db_org_ai_services_x_api.ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid request"
+ }
+ }
+ },
+ "main.AccountResponse": {
+ "type": "object",
+ "properties": {
+ "api_key": {
+ "type": "string",
+ "example": "abc123..."
+ },
+ "credits": {
+ "type": "integer",
+ "example": 1000
+ },
+ "disabled": {
+ "type": "boolean",
+ "example": false
+ },
+ "id": {
+ "type": "integer",
+ "example": 1
+ },
+ "is_admin": {
+ "type": "boolean",
+ "example": false
+ },
+ "is_premium": {
+ "type": "boolean",
+ "example": false
+ },
+ "name": {
+ "type": "string",
+ "example": "john_doe"
+ },
+ "unlimited": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ },
+ "main.AddCreditsRequest": {
+ "type": "object",
+ "required": [
+ "credits"
+ ],
+ "properties": {
+ "credits": {
+ "type": "integer",
+ "example": 500
+ }
+ }
+ },
+ "main.CreateAccountRequest": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "credits": {
+ "type": "integer",
+ "example": 1000
+ },
+ "is_premium": {
+ "type": "boolean",
+ "example": false
+ },
+ "name": {
+ "type": "string",
+ "example": "john_doe"
+ },
+ "unlimited": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ },
+ "main.DisableAccountRequest": {
+ "type": "object",
+ "required": [
+ "disabled"
+ ],
+ "properties": {
+ "disabled": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ },
+ "main.SetCreditsRequest": {
+ "type": "object",
+ "required": [
+ "credits"
+ ],
+ "properties": {
+ "credits": {
+ "type": "integer",
+ "example": 1000
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "ApiKeyAuth": {
+ "type": "apiKey",
+ "name": "X-API-Key",
+ "in": "header"
+ }
+ }
+} \ No newline at end of file