Platform API reference

Updated

2 operations of the Fax for Agents API, from the OpenAPI document version 1.20.0, snapshot of 2026-11-13. The base URL is https://api.faxforagents.com/v1. This is one group of the full reference.

  • GET /v1/capabilities returns the limits and features in force for the calling credential.
  • GET /v1/service-status is a customer-safe view of availability, with no internal detail.
  • Both platform operations need a credential and no scope.

Operations

What does the capabilities call return?

GET /v1/capabilities describes what the calling credential can do right now. The answer names the environment, the scopes the credential carries and the price version. It lists the accepted formats, max_pages and max_upload_bytes, a limits object, the routes and their rates. It also says what is switched on for sending, receiving, approvals, numbers, extraction and the one-time send.

Read it at start-up and keep the values. A client that reads its limits here does not have to copy them from a page, and it follows a change without a release. The limits page lists the same published values for people.

What does the service status call return?

GET /v1/service-status is the availability a customer may see. The answer has a status, the state of the database and of the fax provider, and the version of the API. It also has the age of the worker's last beat in seconds. status_page links the hosted status page.

It is meant for a health panel in your own tooling. The status page says where else to look when the API itself does not answer.

Do these two calls need a scope?

No. Both take an API key or a signed-in session, and neither names a scope. Any credential that works can call them. Both answer 401 without a credential and 429 past the rate limit.

Each operation in detail

GET /v1/capabilities

Limits and features in force

Credential: an API key or a signed-in session.

Responses

GET /v1/capabilities responses
StatusMeaning
200Successful Response
401No credential, or one that was not accepted: invalid_token for an API key, unauthenticated where a signed-in session is needed. error.details.reason says why a key was refused.
429rate_limited. Retry-After and the RateLimit-* headers say when to try again.

Response fields

GET /v1/capabilities response fields
FieldTypeRequiredDescription
approvalsbooleanyes
environmentstring (live, test)yes
extractionbooleanyes
extraction_pricingobjectnoWhat POST /v1/extractions charges, in micro-units. page_micro is for every page read. escalated_page_micro is added for a page the stronger model reads again. max_pages is the most pages one extraction reads. Sandbox extractions are free.
formatsarray of stringyes
limitsobjectyes
max_pagesintegeryes
max_upload_bytesintegeryes
numbersbooleanyes
one_timeobjectyes
price_versionstringyes
providerstringyes
ratesobjectyes
receivebooleanyes
routesarray of stringyes
scopesarray of stringyes
sendbooleanyes

Example

curl https://api.faxforagents.com/v1/capabilities \
  -H "Authorization: Bearer ffa_test_..."

GET /v1/service-status

Customer-safe availability

Credential: an API key or a signed-in session.

Responses

GET /v1/service-status responses
StatusMeaning
200Successful Response
401No credential, or one that was not accepted: invalid_token for an API key, unauthenticated where a signed-in session is needed. error.details.reason says why a key was refused.
429rate_limited. Retry-After and the RateLimit-* headers say when to try again.

Response fields

GET /v1/service-status response fields
FieldTypeRequiredDescription
databasebooleanyes
environmentstring (live, test)yes
providerstringyes
statusstring (ok, degraded)yes
status_pagestring or nullno
versionstringyes
worker_beat_age_sinteger or nullno

Example

curl https://api.faxforagents.com/v1/service-status \
  -H "Authorization: Bearer ffa_test_..."