{ "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": "support@db.org.ai" }, "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" } } }