Documentation Index
Fetch the complete documentation index at: https://docs.oathnet.org/llms.txt
Use this file to discover all available pages before exploring further.
Error Response Format
Backend-generated errors generally use a consistent envelope, even when the successful response for that endpoint is raw JSON or a file stream:HTTP Status Codes
| Code | Name | Description |
|---|---|---|
200 | OK | Request succeeded |
202 | Accepted | Async job was accepted or queued |
400 | Bad Request | Invalid parameters or request body |
401 | Unauthorized | Missing or invalid API key |
403 | Forbidden | Access denied or quota exceeded |
404 | Not Found | Resource does not exist or is not owned by the caller |
409 | Conflict | Download requested before a job is ready |
429 | Too Many Requests | Rate limit or plan limit exceeded |
500 | Internal Server Error | Server-side error |
502 | Bad Gateway | Upstream service unavailable |
503 | Service Unavailable | Temporary maintenance or dependency outage |
Do not assume every successful
2xx response includes a success field. Search endpoints and legacy lookups do, but job endpoints, autocomplete endpoints, manifests, scanner endpoints, and download endpoints may not.Common Errors
400 Bad Request
- missing required parameters
- invalid
filterJSON - filter nesting deeper than 2 levels
- more than 50 filter leaf conditions
- unsupported filter operator or field for that endpoint
- wildcard-like patterns that are too short
- unsupported scanner
query_configkeys - malformed
filter_id
401 Unauthorized
- missing
x-api-key - revoked or invalid key
403 Forbidden
Typical causes:- daily lookup quota exhausted
- endpoint requires a higher plan
- scanner quota exhausted
- file search, exports, bulk search, or AI filter not enabled on the current plan
404 Not Found
Typical causes:- unknown
log_id,file_id,job_id,scanner_uid, orrun_uid - job or scanner exists but is not owned by the authenticated caller
429 Too Many Requests
Typical causes:- endpoint rate limit exceeded
- daily bulk-search limit reached
- scanner creation or test-delivery rate limits hit
Implementation Pattern
When writing a client:- trust HTTP status first
- parse JSON when the endpoint is documented as JSON
- only inspect
successwhen the payload actually includes it - treat download endpoints as raw text or binary streams