Paper Owl Fax

Send a fax to any US or Canadian fax number from an AI assistant. Unlike fax services reachable through Zapier, Paper Owl Fax needs no fax account or subscription: you pay per fax, in the chat or on a short review page, you see every page and the price before paying, and if a fax cannot be delivered you are refunded automatically.

How it works

  1. Your assistant asks for your name (or your business name) and prepares a draft from text or a PDF. It tells you the recipient, the number of pages and the price.
  2. You look over the pages on the preview page.
  3. You approve the charge in chat, or open the review page and pay with Stripe.
  4. We send the fax and your assistant (or the review page) shows when it is delivered.

Pricing

$1.99 covers up to 5 pages, plus $0.25 for each page after that, up to 50 pages. A cover page counts as a page. For example, 3 pages cost $1.99 and 8 pages cost $2.74.

Rules

For developers and agents

MCP endpointhttps://api.sendpaperowl.com/fax/mcp
TransportStreamable HTTP, POST, JSON responses, stateless. MCP 2026-07-28, plus 2025-era clients.
AuthNone. Payment approval is the user's consent.
REST APIhttps://api.sendpaperowl.com/fax/v1 (OpenAPI 3.1)
Agent briefmuse.md and llms.txt
Health/healthz

Tools

create_fax_draft: Create fax draft

writes, not destructive, not idempotent

Prepare a fax to one US or Canadian fax number and get its price. This creates an unpaid draft only: nothing is sent and nothing is charged. Provide "from_name" (required: the name of the person or business sending the fax; ask the user, never guess), "to", and exactly one document source: "text" (plain text or simple Markdown, rendered to US Letter pages), "pdf_base64", or "pdf_url" (public https, 10 MB max). Optionally add a cover page. Every page gets a header line in its top margin reading "From: {from_name} via Paper Owl Fax" with the sending fax number, date and time, because federal law requires a fax to identify its sender. $1.99 covers up to 5 pages, plus $0.25 for each page after that, up to 50 pages. Returns a draft_id, the page count, the price, a preview_url showing every rendered page, a review_url, and when the draft expires (24 hours). Next, show the user the sender name, the recipient number, page count and price, and offer the preview link before asking for payment. Then either ask the user to approve the charge in chat and call send_fax, or, if your client cannot take payments, give the user the review_url to check the pages and pay there. Will not: send to more than one number, send outside the US and Canada, send unsolicited advertising, or handle medical records or other protected health information.

send_fax: Pay for and send fax

writes, destructive, idempotent

CHARGES THE USER MONEY. Charges exactly the price quoted by create_fax_draft, then sends the fax. Only call this after the user has seen the recipient, page count and price, has approved that exact charge in chat, and has confirmed the fax is not an unsolicited advertisement. Pass the draft_id, the Stripe shared payment token (spt_...) granted by that approval, and attest_not_advertisement: true. Never invent or reuse a token. The charge is never more than the quote, even if the approval allows more. If the charge fails, nothing is sent and the draft stays unpaid so the user can try again. Safe to retry: calling it again for the same draft never charges or sends twice. Set dry_run: true to check the draft and the approval without charging. If your client cannot take payments in chat, do not call this; give the user the review_url instead. After it returns, use get_fax_status to follow delivery. A fax that fails after the carrier's retries is refunded automatically.

get_fax_status: Get fax status

read only, not destructive, idempotent

Look up a fax by draft_id. Read only; changes nothing and charges nothing. Returns the status (draft, paid, sending, delivered, failed, refunded, cancelled or expired), pages, price, timestamps, a plain-language failure reason if it failed, the refund status, and a next_step sentence you can relay to the user. Use it after send_fax, or after the user pays on the review page. While sending, check again about once a minute.

cancel_fax_draft: Cancel fax draft

writes, destructive, idempotent

Cancel an unpaid fax draft by draft_id so it can no longer be paid for or sent. Nothing is charged. Only works before payment; a paid fax cannot be cancelled here. Calling it again on a cancelled draft is harmless. Use it when the user changes their mind or wants to start over with a different number or document.

Payment paths

In chat (Muse): the assistant shows a payment approval for the exact price. Stripe grants a single-use shared payment token, the assistant passes it to send_fax, and we charge exactly the quoted price. We never see card details.

Review page (Claude, ChatGPT and other clients): the assistant gives you a review link. You check the pages, confirm the fax is not an advertisement, and pay on Stripe Checkout.

Statuses

draft, paid, sending, delivered, failed (refund in progress), refunded, cancelled, expired.

Support

Vectis Studio LLC. Email support@sendpaperowl.com.