Public access
Do not send an Authorization header or invent an API key. The documented public endpoints are available without account authentication.
No developer key issuance, customer account API or public MCP endpoint is provided. Internal delivery-worker credentials are not public API credentials.
Identify a real submission
Production inquiry submissions require an Idempotency-Key header containing a UUID v4. Generate one key for each distinct inquiry.
Keep the key and payload unchanged when retrying. Reusing a key for different content returns an idempotency_conflict error.
An idempotency key prevents duplicate submissions. It does not authenticate a person or grant access to private records.
Validate the request body
Send Content-Type: application/json. Required inquiry fields include kind, quantity, location, email, region, currency and consent: true.
Model and variant fields are optional. When supplying a variant, also supply its matching model identifier. Unknown fields are rejected.
Check the Request schema for enumerations and limits. Obtain the buyer's authorization before transmitting contact details or requirements.
Handle limits and errors
Read, estimate and sandbox calls share a limit of 120 requests per minute per client. Real inquiries have a separate five-per-hour limit.
RateLimit-Policy describes the quota and window. RateLimit reports the remaining quota and reset delay. Compatibility headers remain available.
Production inquiry responses include rate-limit headers. Honor Retry-After on HTTP 429 or 503 instead of sending repeated immediate retries.
Errors use a JSON error object with a machine-readable code and a human-readable message. The resolution gives corrective guidance; documentation links to the relevant reference. Branch on the code, not the message text.
| Status | Client action |
|---|---|
| 400 | Check JSON, the idempotency key and any conflicting retry |
| 413 | Reduce the request body |
| 415 | Send JSON with the correct content type |
| 422 | Correct invalid fields or mismatched variant identifiers |
| 429 | Wait for Retry-After before retrying |
| 503 | Keep the original key and retry after the indicated delay |
The exact statuses vary by endpoint. The OpenAPI contract documents each operation separately.
Keep test traffic separate
Use sandbox validation for synthetic payloads. A sandbox result does not prove production email delivery or consume a real inquiry.