Skip to main content

iFax API Documentation

All calls to the iFax API should be made to https://api.ifaxapp.com/v1, which remains current with the latest minor updates.

Getting Your API Key

You can find your API key on the Settings page of your dashboard.
If you make an API call with a Live key, your balance will decrease if you perform operations that cost money (e.g., sending a fax).
All iFax API responses are formatted in JSON.

HTTP Methods

Since our API is RESTful, each API call requires a specific HTTP method to indicate the type of operation to be performed.

Standard HTTP Methods

Method Simulation

Some HTTP clients don’t support all HTTP methods. Use the POST method with the _method parameter:

Authentication

Most API calls require authentication via the accessToken header.

HTTP Authentication


Data Formats

All API calls return JSON responses by default.

API Objects

Fax Object

The fax object represents a fax job in the iFax system. Example Fax Object:

Webhooks

Webhooks allow iFax to update you in real-time about the status of your faxes.

Specifying Webhook URLs

Provide a valid webhook URL on your webhook settings page, e.g., https://www.example.com/ifax_webhook.

Postflight Webhooks

Postflight webhooks are triggered when a fax completes, regardless of success.

Webhook Retries

If a webhook fails, it will automatically retry up to 5 times with exponential backoff:

Fax Statuses


Error Codes & Messages


Send Fax

Endpoint: POST /customer/fax-send Base URL: https://api.ifaxapp.com/v1

Request Headers

Request Parameters

Fax Data Array

Each item in faxData should include:

Sample Request

Sample Response

Request Restrictions


Cancel Scheduled Fax

Endpoint: POST /customer/fax-cancel Cancel a fax that has been scheduled for future delivery.

Request Parameters

Sample Request

Sample Response


Resend Fax

Endpoint: POST /customer/fax-resend Resend a previously sent fax.

Request Parameters

Sample Request

Sample Response


Fax Webhook Events

Webhook URL: Configured in your dashboard settings

Webhook Payload

When a fax completes, iFax sends a POST request to your webhook URL with the following payload:

Webhook Security

Always verify the webhook signature to ensure the request came from iFax. The signature is sent in the X-iFax-Signature header.

Rate Limiting

iFax API implements rate limiting to ensure fair usage: If you exceed rate limits, you’ll receive a 429 Too Many Requests response.

Response Codes


Best Practices

Always use file URLs over base64 encoding for better performance and lower bandwidth usage.
  1. Error Handling - Implement proper error handling and retry logic
  2. Webhooks - Always verify webhook signatures before processing
  3. Rate Limiting - Implement backoff strategies when approaching rate limits
  4. Scheduling - Use send_at parameter to batch faxes during off-peak hours
  5. File URLs - Provide publicly accessible HTTP/HTTPS URLs instead of base64 data
  6. Monitoring - Log all API calls for debugging and auditing purposes

Support

For additional help, contact support at: