Sail

List Merchants

GET/merchants

Directory of merchants supported for store connections, also referenced by expense.merchant.id. Searchable and paginated.

Query Parameters

searchstring

Fuzzy search by merchant name.

limitinteger

Max results per page.

offsetinteger

Pagination offset.

Response

Merchants.

dataobject[]
Show data properties
idstring

The Sail merchant id.

namestring

The merchant’s display name.

capabilitiesobject

What Sail can do for this merchant.

Show capabilities properties
item_level_receiptsboolean

Whether this merchant supplies item-level purchase data through a store connection.

urlsobject

Public URLs associated with this merchant.

Show urls properties
mainstring

The merchant’s main website URL.

logostring

URL of the merchant’s logo. Null if unavailable.

paginationobject

Pagination metadata for this page.

Show pagination properties
totalinteger

Total number of matching records, across all pages.

limitinteger

The limit used for this page.

offsetinteger

The offset used for this page.

has_moreboolean

Whether additional pages remain after this one.

Standard error envelope covering 400, 401, 403, 404, 429, and 500.

errorobject

The error detail.

Show error properties
codestring

Machine-readable code, e.g. not_found, token_scope_mismatch, product_not_enabled, insufficient_key_scope, insufficient_token_scope, user_token_required, user_token_expired, invalid_user_token, invalid_key_configuration, connection_not_reconnectable, rate_limited.

messagestring

Human-readable error message. May change, so match on error.code instead.

paramstring

The request field that caused the error, when applicable. Null otherwise.

Request
curl -X GET "https://live.savewithsail.com/api/v1/merchants?search=<search>&limit=<limit>&offset=<offset>" \
  -H "Authorization: Bearer <token>"
Response
{
  "data": [
    {
      "id": "mer_costco",
      "name": "Costco",
      "capabilities": {
        "item_level_receipts": true
      },
      "urls": {
        "main": "string",
        "logo": "string"
      }
    }
  ],
  "pagination": {
    "total": 0,
    "limit": 0,
    "offset": 0,
    "has_more": true
  }
}