Documo Fax API

Send, resend, retrieve, list, and download faxes.

Operations 5

POST /fax/send Send a fax #
GET /fax/{messageId} Get a fax #
POST /fax/{messageId}/resend Resend a fax #
GET /fax/{messageId}/download Download a fax #
GET /faxes List faxes (fax history) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/documo-fax-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

documo-fax-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Documo Account Fax API
  description: REST API for the Documo (mFax) cloud fax and document delivery platform. The API is organized around REST, accepts form-encoded and JSON request bodies, returns JSON-encoded responses, and is secured with an API key passed in the Authorization header. Send and receive faxes, manage fax numbers, subscribe to delivery events via webhooks, and read account information.
  termsOfService: https://www.documo.com/terms-of-service
  contact:
    name: Documo Support
    url: https://help.documo.com/
  version: '1.0'
servers:
- url: https://api.documo.com/v1
  description: Documo production API
security:
- apiKey: []
tags:
- name: Fax
  description: Send, resend, retrieve, list, and download faxes.
paths:
  /fax/send:
    post:
      operationId: sendFax
      tags:
      - Fax
      summary: Send a fax
      description: Sends a fax to one or more recipients. Documents may be supplied as file attachments (multipart/form-data) or as document URLs. Supports an optional cover page, scheduled send time, tags, and custom fields. The send endpoint exposes the same options available in the web portal.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SendFaxRequest'
      responses:
        '200':
          description: Fax accepted for delivery.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fax'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /fax/{messageId}:
    get:
      operationId: getFax
      tags:
      - Fax
      summary: Get a fax
      description: Retrieves the detail and current status of a single fax by its message id.
      parameters:
      - $ref: '#/components/parameters/MessageId'
      responses:
        '200':
          description: Fax detail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fax'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /fax/{messageId}/resend:
    post:
      operationId: resendFax
      tags:
      - Fax
      summary: Resend a fax
      description: Resends a fax that previously failed by submitting the message id of the original fax. An optional recipientFax may be supplied to change the destination number.
      parameters:
      - $ref: '#/components/parameters/MessageId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResendFaxRequest'
      responses:
        '200':
          description: Fax accepted for re-delivery.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fax'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /fax/{messageId}/download:
    get:
      operationId: downloadFax
      tags:
      - Fax
      summary: Download a fax
      description: Downloads the document for a delivered or received fax by message id. The format query parameter selects the returned file type.
      parameters:
      - $ref: '#/components/parameters/MessageId'
      - name: format
        in: query
        description: File format to return.
        required: false
        schema:
          type: string
          enum:
          - pdf
          - tiff
          default: pdf
      responses:
        '200':
          description: Fax document.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
            image/tiff:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /faxes:
    get:
      operationId: listFaxes
      tags:
      - Fax
      summary: List faxes (fax history)
      description: Returns a paginated list of faxes (inbound and outbound) in the account. This fax history endpoint is rate limited; exceeding the limit returns HTTP 429.
      parameters:
      - name: direction
        in: query
        description: Filter by fax direction.
        required: false
        schema:
          type: string
          enum:
          - inbound
          - outbound
      - name: status
        in: query
        description: Filter by fax status.
        required: false
        schema:
          type: string
      - name: dateFrom
        in: query
        description: Inclusive lower bound for the fax date (ISO 8601).
        required: false
        schema:
          type: string
          format: date-time
      - name: dateTo
        in: query
        description: Inclusive upper bound for the fax date (ISO 8601).
        required: false
        schema:
          type: string
          format: date-time
      - name: limit
        in: query
        description: Maximum number of records to return.
        required: false
        schema:
          type: integer
          default: 50
      - name: offset
        in: query
        description: Number of records to skip for pagination.
        required: false
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: A list of faxes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaxList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Rate limit exceeded. Fax history and reports endpoints are limited to a fixed number of calls per minute; subsequent requests return 429 until the window resets.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was malformed or missing required parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          description: Human-readable error message.
        code:
          type: string
          description: Machine-readable error code.
    ResendFaxRequest:
      type: object
      properties:
        recipientFax:
          type: string
          description: Optional new destination fax number to resend to.
          example: '12345678900'
    SendFaxRequest:
      type: object
      required:
      - recipientFax
      properties:
        recipientFax:
          type: string
          description: Destination fax number in E.164 or national format.
          example: '12345678900'
        recipientName:
          type: string
          description: Name of the recipient.
          example: John Snow
        faxNumber:
          type: string
          description: The account fax number to send from (caller id).
        subject:
          type: string
          description: Subject line used on the cover page.
        notes:
          type: string
          description: Notes or message body used on the cover page.
        coverPage:
          type: boolean
          description: Whether to include a cover page.
          default: false
        coverPageId:
          type: string
          description: Identifier of a saved cover page template to use.
        attachments:
          type: array
          description: One or more document files to fax.
          items:
            type: string
            format: binary
        attachmentUrls:
          type: array
          description: Publicly reachable document URLs to fax instead of file uploads.
          items:
            type: string
            format: uri
        scheduledDate:
          type: string
          format: date-time
          description: Future time at which to send the fax (ISO 8601).
        tags:
          type: array
          description: Tags to associate with the fax for reporting and search.
          items:
            type: string
    FaxList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Fax'
        total:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
    Fax:
      type: object
      properties:
        messageId:
          type: string
          description: Unique identifier of the fax message.
        deliveryId:
          type: string
          description: Identifier of the delivery attempt.
        status:
          type: string
          description: Current status of the fax (e.g. queued, sending, success, failed).
          example: success
        direction:
          type: string
          enum:
          - inbound
          - outbound
        recipientFax:
          type: string
        recipientName:
          type: string
        faxNumber:
          type: string
          description: Account number the fax was sent from or received on.
        faxCsid:
          type: string
          description: Called subscriber identification reported by the remote device.
        faxCallerId:
          type: string
        pagesCount:
          type: integer
          description: Total number of pages in the fax.
        pagesComplete:
          type: integer
          description: Number of pages successfully transmitted.
        duration:
          type: integer
          description: Transmission duration in seconds.
        watermark:
          type: string
        subject:
          type: string
        tags:
          type: array
          items:
            type: string
        createdDate:
          type: string
          format: date-time
        updatedDate:
          type: string
          format: date-time
  parameters:
    MessageId:
      name: messageId
      in: path
      required: true
      description: Unique identifier of the fax message.
      schema:
        type: string
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'API key generated in the Documo web app under Settings > API. The key is sent in the Authorization header. Documo documents this as `Authorization: Basic <API_KEY>`, where the API key itself acts as the bearer credential. Each key carries an admin or user access level that determines which endpoints it may call.'