Skip to content
agentsub
Esc
↑↓navigate↵open⌘Jpreview

Offer catalog

Agent token required in live mode (merchant keys are whitelisted for this path but the handler still requires an agent identity). q filters by title/description substring. With Accept: text/plain returns a plain-text listing instead.

GET/v1/catalog
Authorization
AuthorizationBearer token (JWT) · headerrequired

Verified AgentID agent JWT (iss https://auth.agentid.com) or an AgentSub OAuth access token (typ at+jwt, iss https://api.agentsub.dev, scope agentsub:agent). The agent's human owner must exist in Clerk with the same verified email.

Query parameters
qstring
Responses
200

Matching offers

offersOffer[]
Show properties
Array of Offer
idstring
acceptorIdstring
titlestring
descriptionstring
unitstring
priceUcMicrocredits

Integer microcredits as a decimal string. 1 credit = 1,000,000 microcredits = $0.01 USD.

matches ^[0-9]+$
priceUsdstring

USD decimal string; 1,000,000 microcredits = $0.01

categorystring
acceptedPaymentMethodsstring[]
401

unauthorized problem; live 401s advertise WWW-Authenticate: Bearer resource_metadata=...

typestringrequired
titlestringrequired
statusintegerrequired
codestringrequired
503

Runtime or provider configuration unavailable (runtime_configuration_required, signing_configuration_required, runtime_unavailable, workspace_unavailable, provider_configuration_required)

typestringrequired
titlestringrequired
statusintegerrequired
codestringrequired
Request
curl -X GET 'https://api.agentsub.dev/v1/catalog' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json'
Response
{
  "offers": [
    {
      "id": "string",
      "acceptorId": "string",
      "title": "string",
      "description": "string",
      "unit": "string",
      "priceUc": "string",
      "priceUsd": "string",
      "category": "string",
      "acceptedPaymentMethods": [
        "string"
      ]
    }
  ]
}