Fax API for government software
mintfax lets a govtech application send documents to a fax number when the agency on the other end publishes a fax number and nothing else: county human services offices, court clerks, and state benefits agencies that still accept fax alongside their online intake.
This page is not for a county IT team buying a fax service, and mintfax is not a fit for federal work that requires FedRAMP authorization. mintfax does not hold SOC 2, HITRUST, ISO 27001, FedRAMP, or PCI DSS Level 1 certification. Data is stored in one US region, with no region selection. mintfax sends faxes; it does not receive them. Where those limits rule mintfax out of the contract you are writing to, the FedRAMP Marketplace is the authoritative place to check any provider’s federal designation.
Where fax still comes up in govtech
Counties list fax alongside online, phone, and mail as a way to submit benefits applications and the supporting documents that follow them. State human services agencies direct paper applications and follow-up verification back to county offices by fax. Circuit court clerks accept records-request forms by fax and publish per-division fax numbers, warning senders to send the completed form only once against a processing time that can run to two weeks. The govtech application in the middle of that has to send into channels the agency counterparty still publishes.
Track delivery with signed webhooks
Every status change on a fax is delivered as a signed webhook: fax.queued, fax.sending, fax.delivered, fax.failed. Payloads carry a webhook-id that is stable across retries, a webhook-timestamp, and a webhook-signature header computed as HMAC-SHA256 over the concatenation of those two values and the body, following the Standard Webhooks specification. Receivers reject signatures whose timestamp drifts more than five minutes from their clock. GET /v1/events exposes the same payload set for replay and correlation, byte-for-byte with what was delivered to the endpoint.
Idempotency-Key on POST /v1/faxes returns the cached response rather than sending again when the same key is replayed within 24 hours. Automatic retries default to three attempts and are configurable per fax between 1 and 5. Terminal codes such as invalid_number and bad_destination short-circuit to fax.failed.
A mintfax delivery event is evidence that the fax reached the receiving line. It is not evidence that a clerk or caseworker has stamped the document into the record. Where an agency has a business-hours cutoff, the agency’s timestamp governs; the sending machine’s does not.
Control how long documents are stored
Fax content, cover-page text, and sender and recipient names follow retention settings. The default is 90 days after delivery or failure, and you can set a period between 7 and 365 days for each environment. Zero-footprint mode, off by default, scrubs content as soon as a fax reaches a terminal state. The destination number and operational records, meaning status, error codes, timestamps, and attempt history, remain past content retention. DELETE /v1/faxes/{fax} scrubs a single delivered or failed fax.
Export a tamper-evident audit log
The audit log covers content access, contractual acceptance, personnel access to customer content, and state-of-record changes. Every row carries prev_hash and row_hash fields that form a SHA-256 chain your reviewer can verify offline with published reference scripts. Access by mintfax personnel is logged with a pseudonymous staff identifier and a mandatory reason field, and those rows appear in your own feed. Export the log through GET /v1/account/audit or download it as CSV from the dashboard. Audit records are kept for six years.
The security page covers encryption, API keys, webhook verification, and content retention as a single reference.
Sign the DPA and check the subprocessor list
A Data Processing Agreement is available through a self-serve click-through in the dashboard on every account. Signing writes a durable evidence record of the account, template version, signer name, and time, and produces an immediately downloadable PDF. The compliance page lists subprocessors with name, role, region, and a link to each subprocessor’s own DPA; changes to primary subprocessors are announced at least 14 days in advance.
Get started
Try the sandbox with the documented magic numbers, then follow the quickstart before switching an API key to live. Pricing is per page, with no minimum commitment. For county health services and Medicaid-adjacent work, see /for/healthtech; the full segment index is at /for.