> ## Documentation Index
> Fetch the complete documentation index at: https://developer.amplify.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Send a fax

> Send a fax with PDF documents supplied as JSON.

Send a fax to a destination number. Authenticate with a Bearer access token obtained from [Generate an access token](/api-reference/authentication/generate-access-token).

## Attach documents

Send the request as `application/json`. The `fax_data` property is an array of document objects. For each document, provide `file_name` and one of:

* `file_url`: A publicly accessible URL for the PDF file.
* `file_data`: The complete PDF file encoded as a Base64 string.

Do not include both `file_url` and `file_data` for the same document.

## Fax templates

Use `template_id` to apply a Fax Default as the cover-page template. Customers can find the ID beneath the Fax Default name under **Settings → iFax Settings → Fax Defaults**.

Use `smart_document_id` to apply a Smart Template. Customers can find the ID beneath the Smart Template name under **Settings → iFax Settings → Smart Templates**.

`template_id` and `smart_document_id` cannot be used together. The `fax_data` array is always required with either option.

## Phone number format

Supply `fax_number` and `caller_id` in [E.164 format](/guides/data-formats#phone-numbers). Begin the number with `+`, followed by the country code and subscriber number, with no spaces, parentheses, or hyphens.

```text theme={null}
+12509997881
```

## Fax quality

Set `fax_quality` to one of the following values:

| Value      | Quality         |
| ---------- | --------------- |
| `low`      | Low             |
| `standard` | Standard        |
| `hd`       | High definition |

If omitted, fax quality comes from the selected Fax Default. When `template_id` is omitted, the account's default Fax Default is used.

## Fax priority

Set `fax_priority` to `high` or `regular`. The default is `regular`.

## Caller ID

Supply `caller_id` to select the sending number explicitly. If omitted, caller ID comes from the selected Fax Default. When `template_id` is omitted, the `fax_as` value from the account's default Fax Default is used.

## Scheduling

Use `scheduled_date` to schedule transmission. Supply timestamps in [ISO 8601 format](/guides/data-formats#dates-and-timestamps), such as `2026-05-06T09:42:00Z`.


## OpenAPI

````yaml POST /v1/faxes/send
openapi: 3.1.0
info:
  title: Amplify Customer API
  version: 1.0.0
  description: |-
    Canonical contract for the Amplify customer-facing API. This YAML file is
    the source of truth for Postman and Mintlify. Operations marked with
    x-amplify-validation-status: pending were migrated from the legacy Postman
    collection and must be validated before their contract is considered final.
servers:
  - url: https://api.amplify.xyz
    description: Production
  - url: https://dev-api.amplify.xyz
    description: Development
security: []
tags:
  - name: Authentication
  - name: Fax
  - name: Send Faxes
  - name: Receive Faxes
  - name: Manage Faxes
  - name: Workspace
  - name: Numbers
  - name: Contacts
  - name: Documents
  - name: Templates
paths:
  /v1/faxes/send:
    post:
      tags:
        - Send Faxes
      summary: Send a fax
      description: Sends a fax with one or more PDF documents supplied as JSON.
      operationId: sendFax
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendFaxJsonRequest'
            example:
              fax_number: '+12509997881'
              fax_data:
                - file_name: document.pdf
                  file_url: https://example.com/document.pdf
      responses:
        '200':
          description: Fax processed for sending.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendFaxResponse'
              example:
                status: 1
                message: Fax processed for sending
                data:
                  job_id: 01M1NMGG0WY0THD0YA3ZWN9WY7
        '401':
          $ref: '#/components/responses/ExpiredAccessToken'
      security:
        - bearerAuth: []
components:
  schemas:
    SendFaxJsonRequest:
      type: object
      additionalProperties: false
      required:
        - fax_number
        - fax_data
      not:
        required:
          - template_id
          - smart_document_id
      properties:
        fax_number:
          type: string
          description: Destination fax number in E.164 format.
          pattern: ^\+[1-9][0-9]{1,14}$
          example: '+12509997881'
        caller_id:
          type: string
          description: >-
            Caller ID or sending fax number in E.164 format. When omitted, the
            value comes from the selected Fax Default or the account's default
            Fax Default.
          pattern: ^\+[1-9][0-9]{1,14}$
          example: '+12513120176'
        template_id:
          type: string
          description: >-
            ID of a Fax Default used as the cover-page template. Find it under
            Settings > iFax Settings > Fax Defaults. Cannot be combined with
            smart_document_id.
          example: '1055'
        is_required_approval:
          type: boolean
          description: Whether the fax requires approval before it is sent.
          example: false
        fax_priority:
          type: string
          description: Fax priority.
          enum:
            - high
            - regular
          default: regular
          example: high
        smart_document_id:
          type: string
          description: >-
            ID of a Smart Template. Find it under Settings > iFax Settings >
            Smart Templates. Cannot be combined with template_id.
          example: '10210'
        subject:
          type: string
          description: Fax subject.
          example: Test Subject
        from_name:
          type: string
          description: Sender name.
          example: Sender Name
        to_name:
          type: string
          description: Recipient name.
          example: Recipient Name
        message:
          type: string
          description: Message associated with the fax.
          example: Fax sent through the Amplify API
        scheduled_date:
          type: string
          format: date-time
          description: Scheduled transmission date and time in ISO 8601 format.
          example: '2026-05-06T09:42:00Z'
        fax_quality:
          type: string
          description: >-
            Requested fax quality. When omitted, the value comes from the
            selected Fax Default or the account's default Fax Default.
          enum:
            - low
            - standard
            - hd
          example: hd
        fax_data:
          type: array
          description: Documents to include in the fax.
          minItems: 1
          items:
            $ref: '#/components/schemas/SendFaxJsonDocument'
    SendFaxResponse:
      type: object
      additionalProperties: false
      required:
        - status
        - message
        - data
      properties:
        status:
          type: integer
          const: 1
        message:
          type: string
          const: Fax processed for sending
        data:
          type: object
          additionalProperties: false
          required:
            - job_id
          properties:
            job_id:
              type: string
              description: Unique identifier for the submitted fax job.
              example: 01M1NMGG0WY0THD0YA3ZWN9WY7
    SendFaxJsonDocument:
      type: object
      additionalProperties: false
      oneOf:
        - required:
            - file_data
        - required:
            - file_url
      required:
        - file_name
      properties:
        file_name:
          type: string
          description: Document file name.
          example: document.pdf
        file_data:
          type: string
          description: Base64-encoded contents of a PDF file.
        file_url:
          type: string
          format: uri
          description: Publicly accessible URL of a PDF file.
          example: https://example.com/document.pdf
    ExpiredAccessTokenResponse:
      type: object
      additionalProperties: false
      required:
        - status
        - message
        - data
      properties:
        status:
          type: integer
          const: 401
        message:
          type: string
          const: UNAUTHORIZED
        data:
          type: string
          const: Token expired
  responses:
    ExpiredAccessToken:
      description: The Bearer access token has expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ExpiredAccessTokenResponse'
          example:
            status: 401
            message: UNAUTHORIZED
            data: Token expired
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````