Skip to main content
GET
Search UCP merchants

Authorizations

x-sumvin-ucp-token
string
header
required

Org-scoped key for the UCP Merchant Search endpoints. Sent in the x-sumvin-ucp-token header.

Headers

X-Timestamp-Format
string

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.

Example:

"iso8601"

Query Parameters

q
string | null

Full-text search over merchant name, categories, products, and brands.

Maximum string length: 512
category
string[] | null

Filter by category. Repeatable; OR within, AND across dimensions.

Maximum array length: 50
Maximum string length: 128
Example:
country
string[] | null

Filter by country. Repeatable; OR within, AND across dimensions.

Maximum array length: 50
Pattern: ^[A-Za-z]{2}$
language
string[] | null

Filter by language. Repeatable; OR within, AND across dimensions.

Maximum array length: 50
Pattern: ^[A-Za-z]{2,3}$
brand
string[] | null

Filter by brand. Repeatable; OR within, AND across dimensions.

Maximum array length: 50
Maximum string length: 128
Example:
capability
string[] | null

Filter by UCP capability. Repeatable; OR within, AND across dimensions.

Maximum array length: 50
Maximum string length: 128
Example:
payment
string[] | null

Filter by payment handler. Repeatable; OR within, AND across dimensions.

Maximum array length: 50
Maximum string length: 128
Example:
transport
enum<string>[] | null

Filter by the transport a merchant's UCP service is reachable over. Repeatable; OR within, AND across dimensions.

Maximum array length: 50
Available options:
rest,
mcp,
a2a,
embedded
Example:
a2a
boolean | null

Filter by whether agent-to-agent is enabled.

oauth
boolean | null

Filter by whether OAuth is enabled.

min_confidence
number | null

Only include merchants whose enrichment confidence is at least this value. Merchants without enrichment data are excluded when this filter is set.

Required range: 0 < x <= 1
from_date
string | null

Only include merchants last seen on or after this date. Accepts epoch ms or YYYY-MM-DD.

to_date
string | null

Only include merchants last seen on or before this date. Accepts epoch ms or YYYY-MM-DD.

enriched
boolean | null

Filter to merchants that have (true) or lack (false) enrichment.

sort
enum<string>
default:relevance

Sort order for results.

Available options:
relevance,
popularity,
last_hit
facets
enum<string>[] | null

Facet fields to compute value counts for. Repeatable.

Available options:
category,
brand,
country,
language,
capability,
payment,
transport,
a2a,
oauth
highlight
boolean
default:false

Include matched snippets on each result.

offset
integer
default:0

Pagination offset

Required range: x >= 0
limit
integer
default:25

Pagination limit

Required range: 1 <= x <= 100

Response

Merchants retrieved successfully

Paginated list of UCP merchants matching a search.

HAL-style hypermedia links for navigation and available actions.

results
MerchantResource · object[]
required

Merchants matching the search.

total
integer
required

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.

offset
integer
required

Number of items skipped from the beginning of the result set.

limit
integer
required

Maximum number of items returned per page (1-100).

query
Query · object
required

The effective query parameters applied.

queried_at
integer
required

Unix timestamp in epoch milliseconds when the search was executed. Results reflect the index as of this moment.

facets
Facets · object | null

Value counts per requested facet field. Present only when facets are requested.