certificate_request— an outstanding ask for an exemption certificate from one of your customers. Trigger one, read its state, cancel it.exemption_certificate— the submitted certificate itself, with per-jurisdiction validity, expiration, and a short-lived download URL.
customer— the specificCustomerrecord linked to the object.nullwhen no live Customer has been associated yet.linked_buyer— the master buyer entity. Populated whenever the object has a master-buyer reference, even when noCustomerrecord is linked yet. Prefer this field for rendering “who owns this certificate.”
Both surfaces are live-only. Using a
sk_test_* key returns
TESTMODE_NOT_SUPPORTED.Certificate Requests
Thecertificate_request object represents an outstanding ask for an
exemption certificate from one of your customers. A request is opened when
you (or an integration acting on your behalf) trigger one for a customer; it
closes when the customer submits a valid certificate, the request is
canceled, or it expires.
Lifecycle
pending and fulfilled are the only non-terminal-on-creation outcomes
clients typically observe.
When to read certificate requests
- Render a customer-facing dashboard of outstanding requests.
- Reconcile your CRM / sales system with which buyers still owe a cert.
- Stop a campaign when your sales team no longer needs the exemption (call
DELETE /tax/certificate-requests/{id}).
Triggering a certificate request
POST /tax/customers/{customer_id}/certificate-requests opens a new request
for an existing customer. Full reference documentation for the trigger
endpoint ships in an upcoming release.
Reading a fulfilled request’s certificate
Oncestatus flips to fulfilled, the certificate_id field is populated
with the cert_* id of the submitted certificate. Fetch it via
GET /tax/certificates/{certificate_id}
to read its status, jurisdictions, and download URL.
Example
Exemption Certificates
Theexemption_certificate object represents a tax exemption certificate
submitted by one of your customers. Use the certificate endpoints to render
exemption state in your own UI, sync validity / expiration into your system
of record, and offer a download link to the original document.
Public status vocabulary
Thestatus field uses a deliberately narrow public vocabulary — Numeral’s
review pipeline runs many internal states that are not surfaced.
expiring and expired are kept distinct from invalid so you can
differentiate a lapsed but renewable certificate from a revoked or rejected
one.
A top-level status reflects the certificate as a whole. Each entry in
jurisdictions[] carries its own status — a certificate may be active
in one jurisdiction and expired in another.
Per-jurisdiction validity
Multi-state certificates expose one entry per covered jurisdiction:status as authoritative when calculating whether
a buyer is exempt in a specific state — the top-level status is a summary
view.
Downloading the document
GET /tax/certificates/{certificate_id} returns a pre-signed download_url
that expires one hour after issuance. Re-fetch the certificate to mint a
fresh URL. download_url is null until the certificate is fully ingested
(a processing certificate may have no document attached yet).