Idempotency-Key is an optional Header for all five paid POST operations: Entity Search create_task, Contact Search, Deep Search, Enrich, and Extract.
Idempotency-Key Header. Keys you provide are trimmed and must contain at most 128 characters.
Scope
Idempotency is scoped to the exact API credential and key. Two API keys owned by the same user do not share idempotency records, even though they share billing and user-level concurrency. The request body is normalized and hashed. Reusing a key with different input returns409 idempotency_error and does not start another search.
Replay behavior
Neither successful replay calls the search service or bills the request again.
An Entity Search request is replayable only during its fixed recovery window. Once that window expires and the reservation is refunded, replay returns
409 request_expired and the old task cannot be reopened by polling.
Recommended pattern
- Generate a UUID when your application creates a logical operation.
- Persist the key and canonical input before sending the request.
- Reuse both after a timeout, disconnect, or process restart.
- Store the returned
Idempotency-Key,X-Request-Id, andleads_search_idwith the operation. - Generate a new key only for an intentional new search.
leads_search_id instead of creating a new task with a new idempotency key.
MCP behavior
The hosted MCP endpoint does not exposeidempotency_key in any Tool schema. It generates a new internal key for each paid POST Tool and does not automatically retry paid operations. Calling entity_search_create, contact_search, deep_search, enrich, or extract again is a new billable operation.