SignalWire Compatibility API¶
SignalWire’s “Compatibility” endpoints mimic the old Twilio Fax API. Faxbot uses a tokenised MediaUrl so SignalWire can fetch documents securely.
Gather before you start¶
- Space URL (e.g., 
example.signalwire.com) - Project ID and API Token
 - Public HTTPS URL for callbacks and PDF fetches
 
Configure with the Setup Wizard¶
- Admin Console → Setup Wizard
 - Choose SignalWire Compatibility
 - Enter Space URL, Project ID, API Token, and default From number
 - Provide your public URL; the wizard computes the MediaUrl that SignalWire fetches
 - Apply & reload the config
 
{: .note } Need a quick tunnel? Follow Public Access & Tunnels.
Send & monitor¶
- Send Fax uploads PDF/TXT, then Faxbot hosts the document at 
/fax/{jobId}/pdf?token=… - SignalWire fetches the MediaUrl via HTTPS
 - Status callbacks hit 
/signalwire-callback; enable signature verification by setting the signing key in Settings → Backends → SignalWire - Watch status transitions in Jobs with provider-specific troubleshooting links
 
How it works (under the hood)¶
- Faxbot mints a short‑TTL tokenised MediaUrl and includes it in the create‑fax request
 - SignalWire fetches the MediaUrl via HTTPS; Faxbot returns the PDF if and only if token and TTL match
 - Optional HMAC verification protects callbacks (
X-SignalWire-Signaturewhen configured) - Admin coverage: Diagnostics shows callback URL and signature settings; Jobs reveal provider SID
 
Troubleshooting¶
- 403 fetching MediaUrl → Token expired or 
PUBLIC_API_URLmismatch; reopen the job to mint a new link - 401 from SignalWire → Regenerate the API token in the SignalWire console and rerun the wizard
 - No callbacks → Confirm the StatusCallback URL is set in the SignalWire portal (the wizard shows the expected value)
 
References¶
- SignalWire Fax docs: https://developer.signalwire.com/
 - Compatibility API overview: https://developer.signalwire.com/apis/docs/fax