Skip to main content
Skip table of contents

Fax-for-Applications API - Reworked

Retarus Fax-for-Applications automates the fax transmission process. It also allows you to monitor fax status and delete archived reports. The service uses a REST 1.0 (JSON) interface. You can implement the Fax-for-Applications client in any programming language.

Fax transmission generally follows these steps:

  1. Create and send a fax job to Fax-for-Applications.

  2. Retrieve the job status via polling or via a push service (HTTP or mail).

  3. Delete fax reports when no longer needed.

Version & media

Current version:

Content-Type:

Accepts:

v1

application/json

application/json

Authentication

The API uses HTTP Basic Authentication for all requests. Each request must include:

Authorization: Basic Base64Encoded(username:password)

Example

  • Username: John

  • Password: secret

  • Base64-encoding of John:secret is Sm9objpzZWNyZXQ=

  • Header: Authorization: Basic Sm9objpzZWNyZXQ=

Login ID is managed via the Retarus EAS Portal. Jobs created under one Login ID are isolated and cannot be accessed using another.

As an additional layer of protection, you can configure IP allowlisting per Login ID to restrict access to specific IP addresses or subnets.

๐Ÿ“Œ Note

For more information about authorization, refer to the API Center.

Service endpoints

The Fax-for-Applications service is available via highly available (HA) endpoints or specific data center URLs:

Region

HA URL

Data Center URLs

Germany

https://faxws-ha.de.retarus.com/rest/v1

https://faxws.de1.retarus.com/rest/v1
https://faxws.de2.retarus.com/rest/v1

USA

https://faxws-ha.us.retarus.com/rest/v1

https://faxws.us1.retarus.com/rest/v1
https://faxws.us2.retarus.com/rest/v1

Switzerland

n/a

https://faxws.ch1.retarus.com/rest/v1/

Singapore

n/a

https://faxws.sg1.retarus.com/rest/v1/

For additional connection options, contact Retarus Support.

Key concepts

Status report & job data retention

  • Status reports: Available for retrieval for up to 30 days or until manually deleted.

  • Job data: Automatically deleted after the configured retention period.

High availability (HA) handling

If you submit fax jobs via a HA URL:

  • Always query or delete reports through the data center URLs (e.g., US1 and US2 for USA jobs).

  • Never send status queries or delete requests to an HA URL.

  • Always check both data centers since processing might not have completed across both.

Job validity periods

  • By default, jobs become valid immediately upon creation and expire one month later.

  • You can specify custom validity periods using ISO 8601 format:

    • Timestamps for specific points in time (example: "2023-12-31T23:59:59Z")

    • Duration strings for time periods (example: "P30D" for 30 days)

  • Jobs automatically expire once the specified end time is reached or when the duration period elapses.

Job deletion rules

  • Deletion operations can handle up to 1000 jobs per request.

  • If more jobs are available, multiple requests are needed.

Limitations & constraints

Document constraints

Filename length

Maximum 32 characters

Allowed characters

Only a-zA-Z0-9-_. (no whitespaces, slashes, or other special characters)

Document formats

PDF, TIF, TXT, and HTML are supported

Cover pages

Templates must be UTF-8 encoded

Status report limitations

  • Status reports are limited to the oldest 1000 entries per request.

  • To retrieve more reports, you must delete processed reports first.

  • Reports are stored for up to 30 days by default.

Main operations

The following operations are available.

๐Ÿ“Œ Customer number

In all API endpoints, {custNr} refers to your Retarus customer number (e.g., 999901). This is a unique identifier for your account and must be included in all API requests.

Send a Fax Job

Method

POST /{custNr}/fax (sendJobRequest)

Description

To send a fax, you submit a fax job request to the web service. The request includes:

  • A list of recipients

  • The documents to send (inline base64-encoded or by URL)

  • Optional settings (e.g., resolution, header, cover page, status notifications)

After successful submission, the API returns a Job ID, which is used for tracking and status queries.

๐Ÿ“Œ NOTE

Include the time zone in the start timestamp (ISO 8601 format). Missing time zone information will result in an HTTP 400 (Bad Request) error.

Response codes

  • 200: OK - Send job successful

  • 400: Bad Request - Client authorization missing or invalid JSON

  • 401: Authentication failed

API Center

Send a job request

Retrieve Status for a Single Job

Method

GET /{custNr}/fax/reports/{jobId} (getStatusReport)

Description

Fetches the status report for a specific fax job using its Job ID.

  • Status reports are available until they are deleted or expire.

  • If the job was submitted via a HA URL, you must send queries to both data center URLs (e.g., US1 and US2).

Response codes

  • 200: OK - Status report delivered

  • 401: Authentication Failure

  • 404: Not Found - No job report available

API Center

Get a status report

Retrieve all Available Status Reports

Method

GET /{custNr}/fax/reports (getAllStatusReports)

Description

Returns a list of available status reports for completed fax jobs, limited to the oldest 1000 entries.

  • Maximum: 1000 reports per request.

  • Recommended: Delete reports after retrieval to access the next batch.

  • Only use specific data center URLs if jobs were submitted via an HA URL.

Response codes

  • 200: OK - Status reports delivered

API Center

Get all status reports

Delete a Status Report for a Single Job

Method

DELETE /{custNr}/fax/reports/{jobId} (deleteStatusReport)

Description

Deletes the status report for a specific fax job based on its Job ID.

  • Only works if the request is sent to a data center URL, not an HA URL.

  • The response confirms whether the deletion was successful.

Response codes

  • 200: OK - Status report deleted

  • 400: Not Found - Status report not available

API Center

Delete a status report

Delete the Oldest Status Reports

Method

DELETE /{custNr}/fax/reports (deleteOldestStatusReports)

Description

Deletes up to 1000 of the oldest available status reports for the account.

  • If more reports exist, you must repeat the request.

  • Deletions must be sent to specific data center URLs (not HA URLs) for reliability.

Response codes

  • 200: OK - Status reports deleted

API Center

Delete the oldest status reports

Perform Bulk Operations on Status Reports

Method

POST /{custNr}/fax/reports (bulkStatusReports)

Description

Retrieves or deletes multiple job reports in a single request.

  • You must provide a list of Job IDs (maximum 1000 per request).

  • Set the action to either GET or DELETE.

  • Works only through data center URLs, not HA URLs.

Response codes

  • 200: OK - Operation successful

API Center

Perform bulk operations

๐Ÿ“Œ Note
For full operation details, parameters, and request/response examples, see the API Center documentation.

Data structure overview

Fax jobs and their related operations use structured JSON data. Below is an overview of the key components and supporting objects used throughout the API.

Main data models

Name

Description

FaxJobRequest

Defines a fax job with documents, recipients, and optional settings such as rendering, metadata, and delivery options.

FaxJobResponse

Returns the Job ID after successful job submission.

FaxReport

Contains the result of a fax job, including the number of pages and recipient status.

FaxReports

A collection of multiple FaxReport entries.

BulkJobReportsRequestBody

Retrieves or deletes multiple job reports via action (GET or DELETE) and jobIds.

BulkJobReportResponseBody

Response for bulk operations. Contains a reports[] array with details per job (e.g., status, reason, recipient info).

JobDeleteReport

Indicates the result of a delete operation for a single job.

MetaData

Contains customer reference and job validity period.

JobValid

Defines the valid time window for a job. Can use exact timestamps or durations.

๐Ÿ“Œ NOTE

The reportPurgeTs field is not currently operational.

Supporting data structures

Name

Description

DocumentWithData

Represents a document as inline base64 or by reference URL.

FaxRecipient

Specifies a recipient with a fax number and optional personalization fields.

FaxRecipientWithStatus

Extended recipient data including transmission status, timestamps, and delivery result.

TransportOptions

Optional settings such as CSID (sender ID), express delivery, or blacklist control.

RenderingOptions

Controls how the fax is displayedโ€”page size, resolution, overlays, and cover pages.

Overlay

Allows applying a black-and-white template (e.g., stationery) to specific pages.

RecipientProperty

Defines key-value pairs for personalized cover pages.

Reference

Contains optional metadata such as billing codes and customer-defined IDs.

StatusReportOptions

Defines how transmission status is reported (via email or HTTP push).

HttpStatusPush

Configuration for HTTP-based status notifications.

ReportMail

Configuration for email-based status reports, including attached fax image options.

Error response structure

All error responses follow a standard format containing a code and message:

JSON
{
  "code": 400,
  "message": "Validation of job request failed: 'No number available for rcpt
              FNLAJR3BK80D8LLWADCPYL'"
}

Authentication failures are responded to with:

JSON
{
  "code": 401,
  "message": "Authentication failed"
}

๐Ÿ“Œ Note
Schema field details and example payloads are available in the API Center documentation. Field visibility may depend on the request type (e.g., GET vs DELETE).

Pagination of status reports

To work with more than 1000 status reports:

  1. Retrieve the first batch of up to 1000 reports using GET /{custNr}/fax/reports.

  2. Process the retrieved reports.

  3. Delete the reports you've processed using DELETE /{custNr}/fax/reports.

  4. Repeat the process to get the next batch of reports.

There is no explicit pagination parameter - you must delete processed reports to access the next set.

Troubleshooting

Common issue

Solution

Status reports not appearing

Ensure you're querying both data center URLs, not just the HA URL.

Authentication failures

Verify your Base64 encoding is correct and that your IP is allowlisted if that feature is enabled.

"Job Expiration" errors

Make sure you're including the time zone in ISO 8601 format timestamps.

Failed fax transmissions

Check the recipient status codes and reasons in the fax report.

Document filename errors

Ensure filenames are 32 characters or less and use only allowed characters (a-zA-Z0-9-_.).

400 Bad Request errors

Check that your JSON is valid and that all required fields are included.

Missing documents

Verify that either document data or reference URL is provided (not both simultaneously).

Invalid country code in fax number

Format numbers in international format with country code (e.g., +1201xxxxxxx).

Overlapping job IDs

Ensure job IDs are unique when tracking multiple fax jobs.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.