POST/v1/faxes
Send a fax
Send an outbound fax. Provide the document inline as base64 (`document.content` + `document.content_type`) or as a public HTTPS link (`document_url`). Runs the same quota, HIPAA-BAA, and number gates as the dashboard. Returns the created fax resource.
Scope: faxes:sendSupports Idempotency-Key
curl https://www.sendfaxmail.com/v1/faxes \
-H "Authorization: Bearer sfm_live_your_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"to":"+12125551234","document":{"content":"<base64-pdf>","content_type":"application/pdf"}}'
GET/v1/faxes
List faxes
List your account's faxes, newest first. Supports `limit` (1–100, default 25) and `page` (default 1) query params. Soft-deleted faxes are excluded.
Scope: faxes:read
curl "https://www.sendfaxmail.com/v1/faxes?limit=25&page=1" \
-H "Authorization: Bearer sfm_live_your_key"
GET/v1/faxes/{id}
Retrieve a fax
Retrieve one fax by id — poll this to track delivery status (`queued` → `sending` → `delivered`/`failed`).
Scope: faxes:read
curl https://www.sendfaxmail.com/v1/faxes/fax_id \
-H "Authorization: Bearer sfm_live_your_key"
GET/v1/numbers
List fax numbers
List the active dedicated fax numbers on your account.
Scope: numbers:read
curl https://www.sendfaxmail.com/v1/numbers \
-H "Authorization: Bearer sfm_live_your_key"
GET/v1/contacts
List contacts
List your address-book contacts (newest first).
Scope: contacts:read
curl https://www.sendfaxmail.com/v1/contacts \
-H "Authorization: Bearer sfm_live_your_key"
POST/v1/contacts
Create a contact
Add an address-book contact (`name` + `fax_number`, optional `company`). Fax numbers are unique per account.
Scope: contacts:write
curl https://www.sendfaxmail.com/v1/contacts \
-H "Authorization: Bearer sfm_live_your_key" \
-H "Content-Type: application/json" \
-d '{"name":"Dr. Smith","fax_number":"+12125551234"}'
DELETE/v1/contacts/{id}
Delete a contact
Delete one address-book contact by id.
Scope: contacts:write
curl -X DELETE https://www.sendfaxmail.com/v1/contacts/contact_id \
-H "Authorization: Bearer sfm_live_your_key"
GET/v1/scheduled
List scheduled faxes
List your scheduled (send-later) faxes, newest first.
Scope: scheduled:read
curl https://www.sendfaxmail.com/v1/scheduled \
-H "Authorization: Bearer sfm_live_your_key"
POST/v1/scheduled
Schedule a fax
Queue a fax to send at a future `send_at` (ISO 8601, 60s–180 days out). Same body as POST /v1/faxes plus `send_at`. The document is normalized to a fax-ready PDF and stored; it sends through the same gates at the scheduled time.
Scope: scheduled:writeSupports Idempotency-Key
curl https://www.sendfaxmail.com/v1/scheduled \
-H "Authorization: Bearer sfm_live_your_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"to":"+12125551234","document":{"content":"<base64-pdf>","content_type":"application/pdf"},"send_at":"2026-07-01T17:00:00Z"}'
GET/v1/scheduled/{id}
Retrieve a scheduled fax
Retrieve one scheduled fax by id (status `pending` → `sent`/`failed`/`canceled`).
Scope: scheduled:read
curl https://www.sendfaxmail.com/v1/scheduled/sched_id \
-H "Authorization: Bearer sfm_live_your_key"
DELETE/v1/scheduled/{id}
Cancel a scheduled fax
Cancel a still-`pending` scheduled fax. A row already claimed/sent by the dispatcher can't be canceled (409).
Scope: scheduled:write
curl -X DELETE https://www.sendfaxmail.com/v1/scheduled/sched_id \
-H "Authorization: Bearer sfm_live_your_key"