Agent Product Graph

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/search

Products, offers, coverage and ranking explanations.

GET /v1/products/search?q=…

The same search, for simple queries.

POST /v1/resolve

Resolve an identifier or messy merchant text to a canonical product.

GET /v1/products/{id}

One product with its permitted offers.

GET /v1/compatibility

Confirmed compatibility only.

GET /v1/replacements

Replacement and supersession chains.

GET /v1/insights/demand

K-anonymous aggregate market demand signal (scope insights:read).

GET /v1/insights/demand.csv

CSV form of the same aggregate demand feed.

GET /v1/insights/demand

K-anonymous aggregate market demand signal (scope insights:read).

GET /v1/insights/demand.csv

CSV form of the same aggregate demand feed.

GET /v1/account/usage

Usage in cost units and remaining quota.

POST /v1/mailboxes

Create a short-lived authenticated agent mailbox.

POST /v1/mailboxes/{token}/messages

High-throughput opaque message delivery.

GET /v1/mailboxes/{token}/messages

Collect 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/consent

Immutable consent and contract-notice history, newest first.

PUT /v1/account/consent

Grant or withdraw one optional consent with one request.

POST /v1/admin/mailboxes/{id}/freeze

Operator 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.