heruAPI
Invoices

Get an invoice

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
/invoices/{id}

Returns the stamped invoice with its parties, items, totals and, if requested, its cancellation.

Needs the invoices:read scope.

Authorization

oauth2 invoices: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: invoices:read

Path parameters

id*string

The invoice id.

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

Response body

OK

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

Your own id for this invoice, as you sent it.

status*string

stamped once the SAT accepted it. After a cancellation: cancellation_requested while the receiver must accept it, then cancelled.

Value in"stamped""cancellation_requested""cancelled"
type*string

SAT c_TipoDeComprobante of the CFDI, as sent.

Value in"I""E""P""T""N"
uuid*string

Folio fiscal the SAT assigned.

Formatuuid
verification_url?string

SAT page that verifies the invoice.

Formaturi
stamp*

The SAT stamp (TimbreFiscalDigital). Print it on your own representation of the CFDI.

issuer*
receiver*
third_party?|

The taxpayer on whose behalf it was issued, or null.

place_of_issue?string

Postal code where it was issued.

items*array<>
related_invoices?array<>

Invoices this one is related to. Empty when there are none.

payment_method*string
Value in"PUE""PPD"
payment_form*string
cfdi_use*string
currency*"MXN"
Value in"MXN"
subtotal*string

Sum of the items before taxes.

Match^[0-9]+\.[0-9]{2}$
vat*string

VAT transferred.

Match^[0-9]+\.[0-9]{2}$
withholdings?|

Total withheld. Null when nothing is withheld.

total*string

subtotal + vat − withholdings.

Match^[0-9]+\.[0-9]{2}$
periodicity?string

Global invoices only.

months?string

Global invoices only.

year?string

Global invoices only.

cancellation?|

Null until you request a cancellation.

metadata?

As you sent it.

created_at*string
Formatdate-time
stamped_at*string
Formatdate-time
updated_at*string
Formatdate-time
curl -X GET 'https://api.dev.b2b.heru.app/v1/invoices/inv_01m4ra8w8mfa8svf5396b2p5e1'

{  "id": "inv_01m4ra8w8mfa8svf5396b2p5e1",  "external_id": "INV-2026-000245",  "status": "stamped",  "type": "I",  "uuid": "5829F7E9-4996-450C-BE13-9EE83FD56065",  "verification_url": "https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx?id=5829F7E9-4996-450C-BE13-9EE83FD56065&re=PDE180514R21&rr=HEGL900101K44&tt=1160.00&fe=ydyupw==",  "stamp": {    "sat_certificate_number": "00001000000509465028",    "issuer_certificate_number": "00001000000712345678",    "pac_rfc": "SPR190613I52",    "issuer_seal": "GHbnil3a0FVwE7ynElV7a/eMdiNsWGBg72T2sHjC6CSRg4CIP947uTmefzvTKPcAoTI9NKFKCAVRf/i6w0HP+Op7Twhh/i2cHOGUUMfWDh/ILDldff/tt7OVzRiunV/Mb8FIWL7yjvU4qWeLzhKSi3WhAAKI9wJW9DBBsid3Q9566BqAldbGgN9YIoPNTdFKPLj9CXK5uSWqnt5jcllVUx3CscBVdoxpCHXfGUN9blsdOXKQ8SV3lv4weMup2+moMzsHXiNTXR6iAkk+WycILJfBGOXk3EIu8+a2fp/IOW+KL6wmPcEEqumiNkK8LeXXtljmVnFMi236w0Fuydyupw==",    "sat_seal": "i0o/7TJngD+XRxvsWYHvdAEuw4ozKSJToKkCo6M054CavGKcbwBzzoDvmKQXHsgOCtyRdv9aOGG/UrqBnAffWF36C2TatEaD1b4Y5A6X7KIROheWwr/5zbddOflrlufSQIySnPEzCmE+sgQ7So7RqXJmtpEGW+eXwjRH1YoF2h0TQ5jqGkpTSTjiyoRvMWvC/FPC9O9HJtsXiRHLxWWzQGvsWAXdYNwFYVvI4oXzj38quDonetE+bUi+Qu7KA/xJQdEwsvhdUn7JLoqzXqcKnp2306uy7GFD7Wl/1tMIBPiJqX8x06qXWMEa0WFWM3gWzI0PVtXRoBjYDF8pdwoHpA==",    "original_chain": "||1.1|5829F7E9-4996-450C-BE13-9EE83FD56065|2026-10-12T09:04:08|SPR190613I52|GHbnil3a0FVwE7ynElV7a/eMdiNsWGBg72T2sHjC6CSRg4CIP947uTmefzvTKPcAoTI9NKFKCAVRf/i6w0HP+Op7Twhh/i2cHOGUUMfWDh/ILDldff/tt7OVzRiunV/Mb8FIWL7yjvU4qWeLzhKSi3WhAAKI9wJW9DBBsid3Q9566BqAldbGgN9YIoPNTdFKPLj9CXK5uSWqnt5jcllVUx3CscBVdoxpCHXfGUN9blsdOXKQ8SV3lv4weMup2+moMzsHXiNTXR6iAkk+WycILJfBGOXk3EIu8+a2fp/IOW+KL6wmPcEEqumiNkK8LeXXtljmVnFMi236w0Fuydyupw==|00001000000509465028||"  },  "issuer": {    "rfc": "PDE180514R21",    "name": "PLATAFORMA DEMO",    "tax_regime": "601",    "postal_code": "11000"  },  "receiver": {    "rfc": "HEGL900101K44",    "name": "JOSE LUIS HERNANDEZ GARCIA",    "tax_regime": "612",    "postal_code": "06600",    "email": "joseluis.hernandez@cliente.example"  },  "third_party": null,  "place_of_issue": "11000",  "items": [    {      "description": "Servicio de consultoría",      "quantity": 1,      "unit_code": "E48",      "unit_price": "1000.00",      "product_code": "84111506",      "tax_object": "02",      "vat_rate": "0.16",      "subtotal": "1000.00",      "vat": "160.00",      "withholdings": null    }  ],  "related_invoices": [],  "payment_method": "PUE",  "payment_form": "03",  "cfdi_use": "G03",  "currency": "MXN",  "subtotal": "1000.00",  "vat": "160.00",  "withholdings": null,  "total": "1160.00",  "cancellation": null,  "metadata": {},  "created_at": "2026-10-12T15:04:05.208Z",  "stamped_at": "2026-10-12T15:04:08.422Z",  "updated_at": "2026-10-12T15:04:08.422Z"}

© 2026 Kuarto Inc. (heru)heru.appQuestions about your integration? Contact your heru account team.