Current breach search surface for new integrations.
Supports flat filters plus structured filter and filter_id flows.
The same route also accepts POST when you want to send filter or filter_id
in the JSON request body instead of the query string.
The primary breach search surface for new integrations.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.
filter payloads, and filter_id contexts created by the AI filter endpoint.data.items, data.meta, and data.next_cursor.
Use GET when normal query params are enough. Use POST to the same route when you want to send { filter, filter_id } as JSON in the request body. This is the pattern the frontend uses for complex filters.
See Structured Filters for a simpler step-by-step guide with examples for flat params, POST body mode, AI filters, and query_config.API key for authentication (lowercase header name)
indexed_at, pwned_at and, or JSON-encoded structured filter tree.
Use leaf nodes with field, operator, and value, or compound nodes with and / or.
If you would rather send the filter as a real JSON object, use POST on the same /search route.
See /guides/structured-filters for the full grammar, operators, limits, and examples.
24-character transient filter context ID returned by POST /service/v2/ai/filter
or a previous search response.
24-character transient filter context ID.
^[0-9a-fA-F]{24}$"0123456789abcdef01234567"