Search UCP merchants
Search the catalogue of discovered UCP merchants with full-text and structured filters.
What is searched:
q runs a full-text search over merchant name, categories, products, and brands.
Filter semantics:
Repeatable filters (category, country, language, brand, capability, payment,
transport) combine as OR within a single dimension and AND across dimensions. For
example, country=US&country=CA&capability=checkout matches merchants in the US or
Canada that also support checkout.
Category values are open-ended descriptive labels rather than a fixed vocabulary, so
filtering by category is approximate.
Sorting: by relevance (default), popularity, or last_hit.
Pagination: offset-based via offset and limit (max 100 per page). Responses
report the real total match count. The live search endpoint caps how deep results
can be paged and rejects requests past that depth with a 400 (MRC-400-001).
Every result carries its own _links, including one to the merchant’s UCP discovery
document, and ucp.services giving the endpoints its UCP servers are reachable at.
queried_at records when the search ran.
Authorizations
Org-scoped key for the UCP Merchant Search endpoints. Sent in the x-sumvin-ucp-token header.
Headers
Controls how timestamp fields are serialized in JSON response bodies.
Default (header omitted or any other value): epoch milliseconds as integers.
iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.
Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".
Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.
Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.
"iso8601"
Query Parameters
Full-text search over merchant name, categories, products, and brands.
512Filter by category. Repeatable; OR within, AND across dimensions.
50128Filter by country. Repeatable; OR within, AND across dimensions.
50^[A-Za-z]{2}$Filter by language. Repeatable; OR within, AND across dimensions.
50^[A-Za-z]{2,3}$Filter by brand. Repeatable; OR within, AND across dimensions.
50128Filter by UCP capability. Repeatable; OR within, AND across dimensions.
50128Filter by payment handler. Repeatable; OR within, AND across dimensions.
50128Filter by the transport a merchant's UCP service is reachable over. Repeatable; OR within, AND across dimensions.
50rest, mcp, a2a, embedded Filter by whether agent-to-agent is enabled.
Filter by whether OAuth is enabled.
Only include merchants whose enrichment confidence is at least this value. Merchants without enrichment data are excluded when this filter is set.
0 < x <= 1Only include merchants last seen on or after this date. Accepts epoch ms or YYYY-MM-DD.
Only include merchants last seen on or before this date. Accepts epoch ms or YYYY-MM-DD.
Filter to merchants that have (true) or lack (false) enrichment.
Sort order for results.
relevance, popularity, last_hit Facet fields to compute value counts for. Repeatable.
category, brand, country, language, capability, payment, transport, a2a, oauth Include matched snippets on each result.
Pagination offset
x >= 0Pagination limit
1 <= x <= 100Response
Merchants retrieved successfully
Paginated list of UCP merchants matching a search.
HAL-style hypermedia links for navigation and available actions.
Merchants matching the search.
Number of merchants matching the search, capped at 10,000. A value of 10,000 means at least that many match; results cannot be paged beyond that depth.
Number of items skipped from the beginning of the result set.
Maximum number of items returned per page (1-100).
The effective query parameters applied.
Unix timestamp in epoch milliseconds when the search was executed. Results reflect the index as of this moment.
Value counts per requested facet field. Present only when facets are requested.