Open HTTP API

A standard HTTP interface lets your systems send a fax the moment a process completes and read the result back — nobody has to walk to a machine a second time.

Integration

Systems you can connect

Any system capable of making an HTTP request can call the fax server.

OA systems

Official documents and approved forms faxed automatically when the workflow ends.

ERP

Purchase orders and shipping notices sent to suppliers or customers once approved.

MES

Work orders and quality exception reports faxed to the parties involved.

CRM

Quotes and contract confirmations sent to the fax number held on the customer record.

WMS

Goods receipts, issue notes and packing lists faxed to the carrier.

In-house systems

Anything that can issue an HTTP request can be wired in.

Flow

How integration works

  1. 1
    Create an API key

    Generate a key in the fax server admin console and grant it send permission.

  2. 2
    Your system calls the API

    When the process finishes, submit the job with the key, the files and the destination numbers.

  3. 3
    The server queues and sends

    The job enters the queue, a free port dials out, and failures are retried the configured number of times.

  4. 4
    Read the result back

    Query the job by id and write the delivery result back onto your own record.

Endpoints

Endpoints

The main capabilities are summarised below. Full API documentation is supplied with the product during implementation.

POST/api/integration/v1/faxesSubmit a fax job

Submitted as multipart/form-data, where files carries the attachments and recipients is a JSON array. Returns the job id; the job enters the send queue.

GET/api/integration/v1/faxesList fax jobs

Paged listing of jobs and their status via the page, pageSize and folder parameters.

GET/api/integration/v1/faxes/{id}Get job detail

Full status and delivery result for a single job by id.

Main submission parameters

ParameterTypeDescription
subjectstringFax subject, optional
recipientsJSON arrayRecipient list; each entry carries faxNumber, extension (remote extension, optional), contactName, company and so on
filesfileAttachments; several may be uploaded. PDF, Word, Excel and image formats are supported
priorityintegerJob priority, optional
scheduledAtdatetimeScheduled send time, optional; queued immediately if omitted
maxRetriesintegerRetry count on failure, default 3
resolutionintegerFax resolution, default 200
pageSizestringPaper size, default A4

Request example

# send a fax to extension 8001 at the remote end
curl -X POST https://fax.company.local/api/integration/v1/faxes \
  -H "X-Api-Key: <api key>" \
  -H "Idempotency-Key: PO-20260105-001" \
  -F "subject=Purchase order confirmation" \
  -F 'recipients=[{"faxNumber":"075582991104","extension":"8001"}]' \
  -F "files=@PO-20260105.pdf"

# response
{ "id": 10286, "status": "queued" }
Notes

Integration notes

API key authentication

The key travels in the X-Api-Key header. Keys are created and managed in the console and can be disabled at any time.

Idempotent submission

With an Idempotency-Key header, resubmitting the same identifier will not produce a duplicate fax, so a network retry cannot send twice.

Call logging

Each call records method, path, status code, duration and source IP, which makes integration problems easy to trace.

Status you can poll

Your system can poll the delivery result by job id and store it against its own record.

Need this wired into your systems?

Tell us which system and which process, and we will provide the API documentation and support during testing.