heruAPI
Point of sale

Get a merchant

LiveServed by the v1 API in development with the same checks as production; production opens on the same contract. The capabilities from before v1 keep running in production at the path your account team gives you.

GET
/merchants/{id}

Returns the merchant with its CSD and onboarding status.

Needs the merchants:read scope.

Authorization

oauth2 merchants:read
headerAuthorizationBearer <token>

OAuth 2.0 client credentials. Exchange your client_id and client_secret at /oauth/token of the environment for a bearer token valid for one hour. The playground of every operation asks for your own client and keeps it in your browser tab only.

Scope: merchants:read

Path parameters

id*string

The merchant id.

Match^mer_[0-7][0-9a-hjkmnp-tv-z]{25}$

Response body

OK

application/json
  1. response
id*string
Match^mer_[0-7][0-9a-hjkmnp-tv-z]{25}$
external_id*string
status*string

pending_csd until the merchant uploads their CSD; active when they can invoice; active_pending_sat while the SAT confirms a new CSD; csd_expiring 30 days before it expires; csd_expired, suspended or closed when they cannot invoice.

Value in"pending_csd""active""active_pending_sat""csd_expiring""csd_expired""suspended""closed"
rfc*string

RFC, 12 characters (company) or 13 (individual). The merchant issues the invoices with it.

Match^[A-ZÑ&]{3,4}[0-9]{6}[A-Z0-9]{3}$
legal_name*string
trade_name?string|null
slug*string

Short name in the merchant's invoicing link.

Match^[a-z0-9]+(-[a-z0-9]+)*$
Length3 <= length <= 40
tax_regime*string
postal_code*string
email?|null
locations?array<>
default_item*|

What the invoice says when a charge comes without items. Null if the merchant has none.

csd*
onboarding*
created_at*string
Formatdate-time
updated_at*string
Formatdate-time
curl -X GET 'https://api.dev.b2b.heru.app/v1/merchants/mer_01m4ra8wsyfh3s0tr4nrq3y96j'
{  "id": "mer_01m4ra8wsyfh3s0tr4nrq3y96j",  "external_id": "AFIL-000123",  "status": "active",  "rfc": "HEGL900101K44",  "legal_name": "JOSE LUIS HERNANDEZ GARCIA",  "trade_name": "Cafetería La Esquina",  "slug": "cafeteria-la-esquina",  "tax_regime": "612",  "postal_code": "06700",  "email": "facturacion@cafeteria-la-esquina.example",  "locations": [    {      "external_id": "SUC-01",      "name": "Sucursal Roma",      "postal_code": "06700"    },    {      "external_id": "SUC-02",      "name": "Sucursal Condesa",      "postal_code": "06140"    }  ],  "default_item": {    "product_code": "90101500",    "unit_code": "E48",    "description": "Consumo de alimentos y bebidas",    "vat_rate": "0.16"  },  "csd": {    "active": true,    "valid_from": "2025-03-18",    "valid_to": "2029-03-18"  },  "onboarding": {    "status": "completed",    "url": null,    "expires_at": null,    "completed_at": "2026-10-12T15:41:27.904Z"  },  "created_at": "2026-10-12T15:04:06.206Z",  "updated_at": "2026-10-12T18:10:58.543Z"}
© 2026 Kuarto Inc. (heru)heru.appQuestions about your integration? Contact your heru account team.