---
name: send-fax-online
description: Send one outgoing fax through FaxOnline using a supported document, a US fax number, and an email address.
---

# Send a fax online

For browser use, open `/send-fax-online`, enter a US fax number and email address, upload a supported document, and complete the one-time payment.

For MCP-capable agents, connect to `/mcp/fax` using Streamable HTTP. The server exposes `prepare_fax` and `get_fax_status`.

1. Only prepare a fax the user has requested. Generate a cryptographically random 64-character lowercase hexadecimal `draft_token` and keep it private.
2. Call `prepare_fax` with that token, `fax_number`, `email`, a PDF `filename` without directories, and `document_base64` containing standard base64 PDF bytes (maximum 10 MiB). No remote document URLs or payment card details are accepted.
3. Show the returned price and Stripe `checkout_url` to the user. Completing checkout authorizes transmission; verified payment automatically queues the fax. The price is set by the server, and payment is captured after successful delivery.
4. Call `get_fax_status` with the private token at most once every 15 seconds. `processing` is not delivery; `sent` or `delivered` means the provider reported success, not that a human read or accepted the fax.
5. Reuse the same token and identical inputs when retrying preparation. An expired checkout requires a new draft. Never automatically prepare another fax after a transmission timeout, since the provider may have accepted the original.