heruAPI

Permissions

The scopes a credential can carry, and the operations each one allows.

Every credential carries a set of scopes: the actions it may perform. heru assigns them from your contract, and the token lists them in scope. A call that needs a scope your credential lacks answers 403 INSUFFICIENT_SCOPE.

Scopes are per action, so a credential can be as narrow as a system needs: a terminal can create charges without being able to void them. Ask your account team for the scopes each of your systems needs.

Token response
{
  "access_token": "eyJhbGciOiJFUzI1NiIs…",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "invoices:write invoices:read invoices:download"
}

Batches also need the scope of their type: a batch of invoices needs batches:write and invoices:write. A token with a scope outside your contract is refused at /oauth/token with invalid_scope.

Fiscal validation

ScopeAllowsOperations
fiscal_validations:readRead fiscal validations.GET /fiscal-validations
GET /fiscal-validations/{id}
fiscal_validations:writeStart fiscal validations with the SAT.POST /fiscal-validations

Social security (IMSS)

ScopeAllowsOperations
social_security_validations:readRead NSS lookups and IMSS registrations.GET /social-security-validations
GET /social-security-validations/{id}
social_security_validations:writeLook up NSS and start IMSS registrations.POST /social-security-validations

Workers, e.firma and CSD

ScopeAllowsOperations
workers:readRead workers and the workers feed.GET /workers/{id}
GET /workers/report
workers:writeRegister and remove workers, and create their enrollment links.POST /workers
DELETE /workers/{id}
POST /workers/{id}/enrollment
workers:csdRequest a worker's CSD from the SAT with their e.firma.POST /workers/{id}/csd
signatures:readRead signature requests.GET /signatures/{id}
signatures:writeSend documents for a worker to sign.POST /signatures

Invoices

ScopeAllowsOperations
invoices:readRead invoices.GET /invoices
GET /invoices/{id}
invoices:writeIssue invoices.POST /invoices
invoices:cancelCancel invoices with the SAT.DELETE /invoices/{id}
invoices:downloadGet download links for the XML and PDF of invoices.GET /invoices/{id}/download

Retention certificates

ScopeAllowsOperations
retention_certificates:readRead retention certificates.GET /retention-certificates/{id}
retention_certificates:writeIssue retention certificates.POST /retention-certificates
retention_certificates:cancelCancel retention certificates with the SAT.DELETE /retention-certificates/{id}
retention_certificates:downloadGet download links for the XML and PDF of retention certificates.GET /retention-certificates/{id}/download

Batches

ScopeAllowsOperations
batches:readRead batches and their reports.GET /batches/{id}
batches:writeCreate, process, pause, resume and cancel batches from a CSV. Each batch also needs the scope of its type, e.g. invoices:write.POST /batches
POST /batches/{id}/process
POST /batches/{id}/pause
POST /batches/{id}/resume
POST /batches/{id}/cancel

Point of sale

ScopeAllowsOperations
merchants:readRead merchants.GET /merchants
GET /merchants/{id}
merchants:writeAdd merchants and create onboarding links.POST /merchants
POST /merchants/{id}/onboarding
merchants:csdUpload or replace a merchant's CSD.PUT /merchants/{id}/csd
merchants:consoleCreate links to a merchant's console.POST /merchants/{id}/console-link
charges:readRead charges.GET /charges
GET /charges/{id}
charges:writeCreate charges.POST /charges
charges:voidVoid charges.POST /charges/{id}/void

Branding

ScopeAllowsOperations
branding:readRead the brand of your merchants.GET /branding/merchants/{id}
branding:writeSet the brand and logo of your merchants.PUT /branding/merchants/{id}
PUT /branding/merchants/{id}/logo
DELETE /branding/merchants/{id}/logo

Reports

ScopeAllowsOperations
reports:readRead the retentions and usage reports.GET /reports/retentions
GET /reports/usage

Webhooks

ScopeAllowsOperations
webhooks:readRead webhook subscriptions and their deliveries.GET /webhooks
GET /webhooks/{id}
GET /webhooks/{id}/deliveries
webhooks:writeCreate and manage webhook subscriptions, rotate secrets, test and replay deliveries.POST /webhooks
PATCH /webhooks/{id}
DELETE /webhooks/{id}
POST /webhooks/{id}/secret
POST /webhooks/{id}/test
POST /deliveries/{id}/replay
© 2026 Kuarto Inc. (heru)heru.appQuestions about your integration? Contact your heru account team.

On this page