/v1.0/merchants/{merchant_code}/sales/searchReturns a paginated list of SaleSearchItem rows matching filter criteria. Results are
sorted newest first by sale close date.
Filters from different categories stack with logical AND; multiple values in one array
field stack with logical OR. Results cover the merchant’s last two years of sales
(narrow further with start_date / end_date). Pagination tokens are not interchangeable
with GET /sales.
OAuth scopes: Requires one of: sales.read.
Required permissions:
merchant_read
Path parameters
- maxLength:
30The merchant code.
Example:
"MCZM9TGQ"
Body parameters
application/jsonrequired- start_datestringformat:
date-timeSale created on or after this instant (inclusive).
Example:
"2026-06-01T00:00:00Z" - end_datestringformat:
date-timeSale created on or before this instant (inclusive).
Example:
"2026-06-02T23:59:59Z" - sale_statusesarray<string>Options:
"CLOSED"Filters rows by sale lifecycle (
state). Multiple values match any of them (OR). Uses the same values asSale.state. Non-finalised sales are never returned; only fully-paid sales.Example:
["CLOSED"] - payment_statusesarray<string>Options:
"PAID""CHARGED_BACK"Filters rows by payment outcome. Multiple values match any of them (OR). The search row does not echo this value.
Example:
["PAID"] - sales_channelsarray<string>Options:
"POS""ONLINE_PAYMENTS""KIOSK""ONLINE_STORE""SOLO""ORDER_AND_PAY""INVOICE""BOOKINGS""ORDER_AGGREGATOR""SUBSCRIPTIONS""UNKNOWN"Sales channel filter. Multiple values match any of them (OR).
Example:
["POS"] - pagination_tokenstring
Opaque pagination token from a previous search response. Not interchangeable with tokens from
GET /sales.Example:
"66bcbtzelrubzeuzruzgu76678trncH" - pagination_limitintegerminimum:
1maximum:25default:10Maximum number of results per page.
Example:
10
Responses
200application/json
Successful response with search results.
Example:
[{"id":"dbe3178d-4b83-5024-9b26-9b8e1b280514","state":"CLOSED","tax_mode":"GROSS","currency":{"code":"EUR","scale":2},"name":"Order 1234","total_amount":1250,"created_at":"2026-06-01T14:30:00Z","closed_at":"2026-06-01T14:35:00Z"}]Show 9 properties
Sale identifier.
Example:
"dbe3178d-4b83-5024-9b26-9b8e1b280514"- Options:
"CLOSED"Lifecycle state of the sale. Non-finalised sales are never returned; only fully-paid sales.
Example:
"CLOSED" - Options:
"NO_TAX""GROSS""NET"Checkout tax mode for the sale. Same values as
Sale.tax_mode.Example:
"NO_TAX" - Options:
"BRL""CHF""CLP""COP""CZK""DKK""EUR""GBP""HRK""HUF""NOK""PLN""RON""SEK""USD"Three-letter ISO 4217 currency code of the amount.
Example:
"EUR" Final sale gross total after discounts and taxes, excluding tips. Same value as
Sale.price.gross_amount, in minor units according tocurrency.scale. Payment amounts include tips and can therefore differ from this total.Example:
1250- format:
date-timeInstant when the sale was created.
Example:
"2026-06-01T14:30:00Z" - format:
date-timeInstant when the sale was closed. Always present: non-finalised sales are never returned.
Example:
"2026-06-01T14:35:00Z" - user_idstringformat:
uuidIdentity UUID of the cashier who processed the sale. Omitted when the cashier identity is unknown.
Example:
"d6f51684-519b-454c-bdb3-deeb05f52b92" - namestring
Display name of the sale when set; otherwise a concatenation of item names with quantities. Omitted when neither is available.
Example:
"Order 1234"
- pagination_tokenstring
Opaque token for the next page of search results.
Example:
"66bcbtzelrubzeuzruzgu76678trncH"
400application/problem+json
Validation error on the request.
- format:
uriA URI reference that identifies the problem type.
Example:
"https://developer.sumup.com/problem/not-found" - titlestring
A short, human-readable summary of the problem type.
Example:
"Requested resource couldn't be found." - statusinteger
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:
404 - detailstring
A human-readable explanation specific to this occurrence of the problem.
Example:
"The requested resource doesn't exist or does not belong to you." - instancestringformat:
uriA URI reference that identifies the specific occurrence of the problem.
401application/problem+json
The client is not authenticated (auth header is empty or invalid).
- format:
uriA URI reference that identifies the problem type.
Example:
"https://developer.sumup.com/problem/not-found" - titlestring
A short, human-readable summary of the problem type.
Example:
"Requested resource couldn't be found." - statusinteger
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:
404 - detailstring
A human-readable explanation specific to this occurrence of the problem.
Example:
"The requested resource doesn't exist or does not belong to you." - instancestringformat:
uriA URI reference that identifies the specific occurrence of the problem.
403application/problem+json
Missing sales.read, merchant code mismatch on the token, or no merchant_read permission.
- format:
uriA URI reference that identifies the problem type.
Example:
"https://developer.sumup.com/problem/not-found" - titlestring
A short, human-readable summary of the problem type.
Example:
"Requested resource couldn't be found." - statusinteger
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:
404 - detailstring
A human-readable explanation specific to this occurrence of the problem.
Example:
"The requested resource doesn't exist or does not belong to you." - instancestringformat:
uriA URI reference that identifies the specific occurrence of the problem.
412application/problem+json
User-Agent header is not present or is empty.
- format:
uriA URI reference that identifies the problem type.
Example:
"https://developer.sumup.com/problem/not-found" - titlestring
A short, human-readable summary of the problem type.
Example:
"Requested resource couldn't be found." - statusinteger
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:
404 - detailstring
A human-readable explanation specific to this occurrence of the problem.
Example:
"The requested resource doesn't exist or does not belong to you." - instancestringformat:
uriA URI reference that identifies the specific occurrence of the problem.