Agent Skill · Sinch

sinch-fax-api

Send and receive faxes programmatically with Sinch Fax API. Use when building fax workflows, fax-to-email delivery, sending PDFs by fax, checking fax status, managing fax services, configuring cover pages, receiving fax webhooks, or integrating fax into healthcare, legal, or financial applications.

Provider: Sinch Path in repo: skills/sinch-fax-api/SKILL.md

Skill body

Sinch Fax API

Overview

The Sinch Fax API lets you send and receive faxes programmatically. It supports multiple file formats, webhooks for incoming faxes, fax-to-email delivery, and automatic retries. Used for healthcare, legal, financial, and government applications where fax remains a required communication channel.

Agent Instructions

Before generating code, gather from the user (skip any item already specified in the prompt or context):

  1. Use case — sending, receiving, fax-to-email, or managing services?
  2. Approach — SDK or direct API calls (curl/fetch/requests)?
  3. Language — for SDK: Node.js (preview) or .NET (partial). For direct API: any language, or curl. Java and Python must use direct HTTP — there is no SDK wrapper.

When the user chooses SDK, refer to the sinch-sdks skill for installation and client initialization, then to the Fax API Reference linked in Links.

When the user chooses direct API calls, refer to the Fax API Reference linked in Links for request/response schemas.

Security: See the Security section below for url fetching policy, handling inbound webhook content, and credential handling.

Getting Started

Agent Credentials handling

Store credentials in environment variables — never hardcode tokens or keys in commands or source code:

export SINCH_PROJECT_ID="your-project-id"
export SINCH_KEY_ID="your-key-id"
export SINCH_KEY_SECRET="your-key-secret"
export SINCH_ACCESS_TOKEN="your-oauth-token"

Authentication

Ensure that authentication headers are properly set when making API calls. The Fax API uses Bearer token authentication:

-H "Authorization: Bearer $SINCH_ACCESS_TOKEN"

See sinch-authentication for full setup, most importantly how to obtain {SINCH_ACCESS_TOKEN} (OAuth2 client-credentials — do not mint your own JWT).

First API Call — Send a Fax

curl:

curl -X POST \
  "https://fax.api.sinch.com/v3/projects/$SINCH_PROJECT_ID/faxes" \
  -H "Authorization: Bearer $SINCH_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+12025550134",
    "contentUrl": "https://example.com/document.pdf",
    "callbackUrl": "https://yourserver.com/fax-callback"
  }'

Node.js SDK: See Send a Fax with Node.js.

Test number: Send to +19898989898 to emulate a real fax without charges (always suggest this for integration testing).

Key Concepts

Common Patterns

Three ways to deliver content: contentUrl for URLs (recommended — supports basic auth), multipart/form-data for local files, or contentBase64 for in-memory bytes. contentUrl can be a single URL or an array of URLs to compose multi-document faxes.

For HTTPS URLs, ensure your SSL certificate (including intermediate certs) is valid and up-to-date. You can optionally specify from to set the sender number.

Gotchas and Best Practices

Troubleshooting

Fax not delivered

  1. Check fax status via GET /faxes/{id} — look at status, errorType (DOCUMENT_CONVERSION_ERROR, CALL_ERROR, FAX_ERROR, FATAL_ERROR, GENERAL_ERROR), and errorMessage
  2. If contentUrl was used with HTTPS, verify the SSL certificate (including intermediate certs) is valid
  3. Fax delivery depends on the receiving machine answering — retries are automatic (max 5, default set per service)

Fax content renders incorrectly

Cannot send or receive faxes

Security

Skill frontmatter

metadata: {"author" => "Sinch", "version" => "1.0.5", "category" => "Voice", "tags" => "fax, pdf, fax-to-email, webhooks, healthcare, legal", "uses" => ["sinch-authentication", "sinch-sdks"]}

Work with this as data

Every skill here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agent skills

4 MCP tools reach this
  • find_skillsBrowse and filter every skill in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This skill
curl "https://apis.io/api/v1/skills/sinch-fax-api"
All agent skills
curl "https://apis.io/api/v1/skills?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.