https://api.newinvoice.dev. A sk_test_ key stamps
against the PAC’s test environment — no real CFDI is issued and nothing touches your live records —
so you can build the whole flow before going live.
1
Get your API key
Sign up at the dashboard. Each organization gets a test
key (Every
sk_test_...) and a live key (sk_live_...); copy the test key — it’s shown once./v1 call needs Authorization: Bearer $API_KEY. The key’s mode scopes all data — a test
key never sees live resources.2
Register a fiscal profile — upload the CSD files
No base64 needed: upload your The profile comes back on hold —
.cer/.key directly with the private-key password. The RFC,
serial, and validity window are read from the certificate. Keys are AES-256-GCM encrypted at
rest and never returned.Test mode accepts expired and SAT test CSDs, so you can onboard with a free SAT test
certificate; live mode requires a current one.
status: "requires_action" with a sign_manifest
action under next_actions — and cannot stamp until its carta manifiesto is signed.3
Sign the carta manifiesto
The SAT requires a signed carta manifiesto per RFC to authorize timbrado. This API signs it
for you (no browser portal), and the gate applies in test mode too. The manifiesto is
signed with the taxpayer’s FIEL (e.firma). The profile then flips to
status: "active".4
Create + stamp an invoice
The issuer is taken from the profile; you send the customer and line items.The response has
status: "stamped", the fiscal uuid, and xml_url / pdf_url.Next steps
Stamping in depth
Taxes, discounts, tax-included pricing, credit notes, and complemento de pago.
Go multi-tenant
Hold many clients under one platform key with the
Invoice-Account header.Webhooks
Receive signed events and verify them (JS + Python snippets).
Going live
Live keys, a real CSD, the carta manifiesto, and the production checklist.