HIPAA Fax API

Many healthcare teams still rely on clunky fax workflows that waste hours, manually downloading, renaming, and uploading referrals into EMRs. Fax.Plus solves this with a HIPAA plan, strong encryption, and a fax API so you can send PHI securely, track every step, and stay compliant without slowing down.

API fax
We empower some of the world’s biggest brands

Integrate a HIPAA-Compliant Fax API

A secure fax API design must embed compliance into every stage of data handling. Fax.Plus HIPAA plan ensures all transmissions and stored data follow these principles by default.

Core API Patterns with Fax.Plus

  • Send fax: submit the fax job to Fax.Plus, receive a unique job ID, and monitor progress via secure webhook callbacks.

  • Receive fax: route inbound faxes from Fax.Plus directly to secure, access-controlled endpoints in your environment.

  • Manage Outbox: List, retrieve, update, or cancel pending fax jobs in your outbox to control scheduled sends and handle exceptions.

  • Fax Numbers: Provision and manage fax-enabled phone numbers, assign them to users, and configure notification or routing preferences.

  • Reliability & Safety: Configure retries, timeouts, and idempotency keys to prevent duplicate sends and ensure consistent delivery.

Webhooks and Eventing

  • Use Fax.Plus webhooks for delivery receipts, failure notifications, and audit logging with HIPAA-ready metadata.

  • Implement signature validation and secret rotation to ensure webhook authenticity. Fax.Plus provides tools for both.

Data Handling

  • Fax.Plus encrypts all PHI at rest using AES-256 and in transit using TLS.

  • Avoid storing PHI in logs or temporary files on your side; Fax.Plus never includes PHI in webhook payloads.

  • Use redaction where possible and configure Fax.Plus retention settings to keep only the minimum data required.

HIPAA Fax API built for Developers

Integrate fax functionality into your EMR, EHR, client portal or system using a developer-centric API, comprehensive documentation, and SDKs, making it easy for developers of all skill levels.

1const axios = require('axios');
2const OutboxApiFp = require('@alohi/faxplus-api').OutboxApiFp;
3const Configuration = require('@alohi/faxplus-api').Configuration;
4
5const config = new Configuration({
6    accessToken: accessToken,
7    basePath: 'https://restapi.fax.plus/v3',
8    // Header required only when using the OAuth2 token scheme
9    baseOptions: {
10        headers: {
11          "x-fax-clientid": clientId,
12        }
13    }
14});
15
16async function sendFax() {
17    const reqParams = {
18        "userId": '13d8z73c',
19        "payloadOutbox": {
20            "comment": {
21                "tags": [
22                    "tag1",
23                    "tag2"
24                ],
25                "text": "text comment"
26            },
27            "files": [
28                "filetosend.pdf"
29            ],
30            "from": "+12345667",
31            "options": {
32                "enhancement": true,
33                "retry": {
34                    "count": 2,
35                    "delay": 15
36                }
37            },
38            "send_time": "2000-01-01 01:02:03 +0000",
39            "to": [
40                "+12345688",
41                "+12345699"
42            ],
43            "return_ids": true
44        }
45    }
46    const req = await OutboxApiFp(config).sendFax(reqParams);
47    const resp = await req(axios);
48}
49
50sendFax()
from faxplus import ApiClient, OutboxApi, OutboxComment, RetryOptions, OutboxOptions, OutboxCoverPage, PayloadOutbox
from faxplus.configuration import Configuration

outbox_comment = OutboxComment(tags=['tag1', 'tag2'],
    text='text comment')

retry_options = RetryOptions(count=2, delay=15)

outbox_options = OutboxOptions(enhancement=True, retry=retry_options)

outbox_cover_page = OutboxCoverPage()

payload_outbox = PayloadOutbox(from='+12345667',
    to=['+12345688', '+12345699'],
    files=['filetosend.pdf'],
    comment=outbox_comment,
    options=outbox_options,
    send_time='2000-01-01 01:02:03 +0000',
    return_ids=True,
    cover_page=outbox_cover_page)

conf = Configuration()
conf.access_token = access_token
# header_name and header_value required only when using the OAuth2 token scheme
api_client = ApiClient(header_name='x-fax-clientid', header_value=client_id, configuration=conf)
api = OutboxApi(api_client)
resp = api.send_fax(
    user_id='13d8z73c',
    body=payload_outbox
)
<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
    // The x-fax-clientid header is required only when using the OAuth2 token scheme
    'x-fax-clientid' => '{client ID}',
);

$client = new GuzzleHttp\Client();

// Define array of request body.
$request_body = ...;  // See request body example

try {
    $response = $client->request('POST','https://restapi.fax.plus/v3/accounts/{user_id}/outbox', array(
        'headers' => $headers,
        'json' => $request_body,
        )
    );
    print_r($response->getBody()->getContents());
 }
 catch (GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        // The x-fax-clientid header is required only when using the OAuth2 token scheme
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
        "x-fax-clientid": []string{"YOUR CLIENT_ID"}
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://restapi.fax.plus/v3/accounts/{user_id}/outbox", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Healthcare Faxing

HIPAA Fax APIs Requirements

To transmit electronic protected health information (ePHI) over a fax API, you must follow HIPAA’s technical and administrative safeguards. A provider must sign a Business Associate Agreement (BAA), a legal contract that ensures both parties protect PHI under HIPAA rules. A HIPAA fax API service should support:
Icon advanced security controls

Encryption

  • AES-256 encryption for stored files (at rest).

  • TLS/SSL for data in transit.

an icon of a person with a bow on their head

Access controls

  • Role-based access control (RBAC).

  • Single sign-on (SSO) and two-factor authentication (2FA).

Meet Data Compliance Requirements

Auditability

  • Detailed logs with timestamps and delivery confirmations.

  • Tamper-evident records.

a blue icon of two servers on a white background

Data governance

  • Configurable retention policies.

  • Archiving and secure deletion.

Healthcare use cases

Healthcare organizations use Fax.Plus HIPAA-compliant fax APIs to:

Blue dot

Send EHR output directly to partner systems.

Blue dot

Transmit referrals and lab results securely.

Blue dot

Sharing PHI with authorized providers.

Blue dot

Fax prescriptions electronically.

Blue dot

Send physician referral letters or patient appreciation notes.

Blue dot

Deliver timely test results and appointment notifications.

Why Fax.Plus?

Fax API with World-Class Security, Support & Reliability 

Cross-Platform

4 Million+

companies and teams trust Fax.Plus to grow their business

Extremely Secure

99.99%

consistent, reliable uptime across all Alohi services

Worldwide Coverage

190+

Countries impacted by Fax.Plus

Looking to Elevate Your Faxing? Discover Our Solutions!

Our sales team is ready to provide you with further assistance.

arrow

Get Pricing details for custom high-volume plans.

arrow

Schedule a Fax.Plus demo.

arrow

Explore use cases for your team.

arrow

Help you with the migration process.

arrow

Request to access Sandbox

Big Discounts for Big Volumes
Save more as you fax more! Enjoy competitive pricing with exclusive volume-based discounts. No hidden charges, just honest savings.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
ISO 27001 logoHIpaa logoAICPA SOC logoLogo logo Lock logo

FAQs

What makes a fax API HIPAA-compliant?
Arrow
A HIPAA-compliant fax API, like the Fax.Plus API, must secure PHI with AES-256 encryption at rest, TLS in transit, granular access controls, detailed audit logging, and configurable retention policies. It must also be backed by a signed BAA between you and Fax.Plus.
Does Fax.Plus store faxes permanently?
Arrow
No. In HIPAA mode, Fax.Plus allows you to set custom retention periods. PHI is securely deleted according to your policy, and nothing is kept longer than necessary for compliance.
How does secure cloud faxing protect PHI?
Arrow
Fax.Plus encrypts all transmissions in transit and at rest, restricts access with SSO/2FA and role-based permissions, and provides tamper-evident audit trails accessible in the admin console.
Can I integrate Fax.Plus API with my EHR system?
Arrow
Yes. Fax.Plus APIs and webhooks integrate directly with EHR platforms, enabling you to send, receive, and route PHI securely while maintaining HIPAA compliance.
What is a BAA and why is it required?
Arrow
A Business Associate Agreement is a legal contract between a HIPAA-covered entity and a service provider like Fax.Plus. It ensures both parties follow HIPAA’s PHI protection requirements and defines each party’s responsibilities.