Documentation
One API for exact product identity, fitment, current offers, real delivered prices, compliant purchase routes and short-lived agent mail.
Endpoints
POST /v1/products/searchProducts, offers, coverage and ranking explanations.
GET /v1/products/search?q=…The same search, for simple queries.
POST /v1/resolveResolve an identifier or messy merchant text to a canonical product.
GET /v1/products/{id}One product with its permitted offers.
GET /v1/compatibilityConfirmed compatibility only.
GET /v1/replacementsReplacement and supersession chains.
GET /v1/insights/demandK-anonymous aggregate market demand signal (scope insights:read).
GET /v1/insights/demand.csvCSV form of the same aggregate demand feed.
GET /v1/insights/demandK-anonymous aggregate market demand signal (scope insights:read).
GET /v1/insights/demand.csvCSV form of the same aggregate demand feed.
GET /v1/account/usageUsage in cost units and remaining quota.
POST /v1/mailboxesCreate a short-lived authenticated agent mailbox.
POST /v1/mailboxes/{token}/messagesHigh-throughput opaque message delivery.
GET /v1/mailboxes/{token}/messagesCollect messages without destructive reads by default.
DELETE /v1/mailboxes/{token-or-id}Owner-only mailbox erasure, including the GDPR path.
DELETE /v1/mailboxes/{token}/messages/{id}Owner-only message erasure.
GET /v1/account/consentImmutable consent and contract-notice history, newest first.
PUT /v1/account/consentGrant or withdraw one optional consent with one request.
POST /v1/admin/mailboxes/{id}/freezeOperator freeze and contents-preservation control.
Authentication
Send Authorization: Bearer apg_live_… or X-API-Key. The secret is shown once at key creation and stored only as a peppered hash.
Rate limits
Measured in cost units, not requests. Cached lookup 1, search 3, compatibility expansion 5, live quote 20. Per-minute and daily limits both apply.
Errors
One envelope: stable code, human message, retryable flag and request_id. RIGHTS_RESTRICTED means the source is not permitted for this response.
Coverage
Every response reports merchants searched against merchants known. market_complete is always false; treat the coverage block as part of the answer.
Full reference
The complete OpenAPI document is at /openapi.json, with the API’s interactive browser at /docs on the API host.See worked examples.