Skip to content
Guides

UCP lookup catalog

POST/ucp/catalog/lookup

UCP lookup catalog. A successful request returns HTTP 200 with the documented response body.

Authorization

AuthorizationBearer <token>

OAuth2 access token issued by Ecomiq Auth.

In: header

Header Parameters

Authorization*string

OAuth 2.0 bearer token.

x-Store-Domain*string

Store slug or configured domain that selects the UCP store context.

Length1 <= length <= 253
UCP-Agent*string

Agent profile binding in the form profile="https://agent.example/.well-known/ucp".

Length1 <= length
Idempotency-Key?string

Optional idempotency key for retry-safe UCP requests.

Length1 <= length <= 300

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/ucp/catalog/lookup" \  -H "Authorization: Bearer <token>" \  -H "x-Store-Domain: my-store" \  -H "UCP-Agent: profile="https://agent.example/.well-known/ucp"" \  -H "Idempotency-Key: checkout-2026-0001" \  -H "Content-Type: application/json" \  -d '{    "ids": [      "example"    ],    "filters": {      "categories": [        "example"      ],      "price": {        "min": 1,        "max": 1      }    },    "context": {      "currency": "PEN",      "address_country": "example",      "address_region": "example",      "postal_code": "example_code",      "intent": "example",      "language": "es",      "eligibility": [        "example"      ]    },    "signals": {      "dev.ucp.buyer_ip": "example",      "dev.ucp.user_agent": "example"    },    "attribution": {}  }'
{  "ucp": {    "version": "example",    "status": "example",    "capabilities": {      "key": [        {          "version": "example"        }      ]    },    "payment_handlers": {      "key": [        {          "id": "7204558912004325301",          "version": "example",          "spec": "example",          "schema": "example",          "available_instruments": [            {              "type": "example",              "constraints": {}            }          ],          "config": {}        }      ]    }  },  "products": [    {      "id": "7204558912004325301",      "title": "Example title",      "description": {        "plain": "example",        "html": "example",        "markdown": "example"      },      "price_range": {        "min": {          "amount": 1,          "currency": "PEN"        },        "max": {          "amount": 1,          "currency": "PEN"        }      },      "handle": "example",      "url": "https://example.com/resource",      "categories": [        {          "value": "example",          "taxonomy": "example"        }      ],      "list_price_range": {        "min": {          "amount": 1,          "currency": "PEN"        },        "max": {          "amount": 1,          "currency": "PEN"        }      }    }  ],  "messages": [    {      "type": "example",      "content": "example",      "code": "example_code",      "path": "example",      "content_type": "example",      "severity": "example"    }  ]}