Documo Numbers API

Search, provision, list, and release inbound fax numbers.

OpenAPI Specification

documo-numbers-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Documo Account Numbers 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: Numbers
  description: Search, provision, list, and release inbound fax numbers.
paths:
  /numbers:
    get:
      operationId: listNumbers
      tags:
      - Numbers
      summary: List provisioned numbers
      description: Lists the inbound fax numbers provisioned on the account.
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: A list of provisioned numbers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NumberList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: provisionNumber
      tags:
      - Numbers
      summary: Provision a number
      description: Provisions (adds) an available inbound fax number to the account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvisionNumberRequest'
      responses:
        '200':
          description: The provisioned number.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaxNumber'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /numbers/search:
    get:
      operationId: searchNumbers
      tags:
      - Numbers
      summary: Search available numbers
      description: Searches for available inbound fax numbers that can be provisioned, optionally filtered by area code, region, or country.
      parameters:
      - name: areaCode
        in: query
        description: Area code to search within.
        required: false
        schema:
          type: string
      - name: region
        in: query
        description: State or region code.
        required: false
        schema:
          type: string
      - name: country
        in: query
        description: ISO country code.
        required: false
        schema:
          type: string
          default: US
      responses:
        '200':
          description: Available numbers matching the search.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NumberList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /numbers/{numberId}:
    delete:
      operationId: releaseNumber
      tags:
      - Numbers
      summary: Release a number
      description: Releases (removes) a provisioned inbound fax number from the account.
      parameters:
      - name: numberId
        in: path
        required: true
        description: Identifier of the provisioned number.
        schema:
          type: string
      responses:
        '200':
          description: Number released.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    BadRequest:
      description: The request was malformed or missing required parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    FaxNumber:
      type: object
      properties:
        numberId:
          type: string
        faxNumber:
          type: string
        label:
          type: string
        region:
          type: string
        country:
          type: string
        status:
          type: string
        createdDate:
          type: string
          format: date-time
    NumberList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/FaxNumber'
        total:
          type: integer
    ProvisionNumberRequest:
      type: object
      required:
      - faxNumber
      properties:
        faxNumber:
          type: string
          description: The available number to provision, in E.164 format.
          example: '+12025550143'
        label:
          type: string
          description: Friendly label for the number.
    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.
    DeleteResult:
      type: object
      properties:
        success:
          type: boolean
        id:
          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.'