etherFAX Devices API

The Devices API from etherFAX — 8 operation(s) for devices.

Operations 8

POST /devices/pkinfo /devices/pkinfo #
GET /devices?a=actionreset /devices (actionreset) #
GET /devices?a=list /devices (list) #
GET /devices?a=register /devices (register) #
GET /devices?a=setaddr /devices (setaddr) #
GET /devices?a=setconfig /devices (setconfig) #
GET /devices?a=status /devices (status) #
GET /devices?a=unread /devices (unread) #

Specifications

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/etherfax:etherfax-devices-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

etherfax-devices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: etherfax-rest-api-30 Devices API
  version: '3.0'
servers:
- url: https://na.connect.etherfax.net/rest/3.0/api
security:
- sec0: []
tags:
- name: Devices
paths:
  /devices/pkinfo:
    post:
      summary: /devices/pkinfo
      description: Sets the public key for the current device.
      operationId: devices-pkinfo
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                PublicKey:
                  type: string
                  description: This field contains the base64 encoded contents of the public key file (in PEM format) associated with the device.
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                PublicKey:
                  type: string
                  description: This field contains the base64 encoded contents of the public key file (in PEM format) associated with the device.
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Devices
  /devices?a=actionreset:
    get:
      summary: /devices (actionreset)
      description: Though the device's action is implicitly reset when the "unread" action is invoked, the remote client may explicitly call this function to clear the action state of the device.
      operationId: devices-actionreset
      parameters:
      - name: a
        in: query
        description: Action to perform.
        schema:
          type: string
          default: actionreset
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{

                    }'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Devices
  /devices?a=list:
    get:
      summary: /devices (list)
      description: Returns a list of unread faxes associated with the specified device.
      operationId: devices-list
      parameters:
      - name: a
        in: query
        description: Action to perform.
        schema:
          type: string
          default: list
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "[\n  {\n    \"JobId\": \"833fd712-2ca2-4c7b-8b26-8166629963de\",\n    \"FaxResult\": 0,\n    \"ConnectTime\": 56,\n    \"ConnectSpeed\": 33600,\n    \"PagesReceived\": 2,\n    \"RemoteId\": \"9085551234\",\n    \"CalledNumber\": \"+18005551234\",\n    \"CallingNumber\": \"2125551234\",\n    \"ReceivedOn\": \"2015-10-27T21:47:37.92\",\n    \"FaxImage\": null\n  },\n  {\n    \"JobId\": \"c12e1f95-77e7-4471-a456-508e43daa9a9\",\n    \"FaxResult\": 0,\n    \"ConnectTime\": 68,\n    \"ConnectSpeed\": 33600,\n    \"PagesReceived\": 3,\n    \"RemoteId\": \"9085551234\",\n    \"CalledNumber\": \"+18005551234\",\n    \"CallingNumber\": \"2125551234\",\n    \"ReceivedOn\": \"2015-10-27T21:47:43.14\",\n    \"FaxImage\": null\n  }\n]"
              schema:
                type: array
                items:
                  type: object
                  properties:
                    JobId:
                      type: string
                      example: 833fd712-2ca2-4c7b-8b26-8166629963de
                    FaxResult:
                      type: integer
                      example: 0
                      default: 0
                    ConnectTime:
                      type: integer
                      example: 56
                      default: 0
                    ConnectSpeed:
                      type: integer
                      example: 33600
                      default: 0
                    PagesReceived:
                      type: integer
                      example: 2
                      default: 0
                    RemoteId:
                      type: string
                      example: '9085551234'
                    CalledNumber:
                      type: string
                      example: '+18005551234'
                    CallingNumber:
                      type: string
                      example: '2125551234'
                    ReceivedOn:
                      type: string
                      example: '2015-10-27T21:47:37.92'
                    FaxImage: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Devices
  /devices?a=register:
    get:
      summary: /devices (register)
      description: Performs a device registration to the etherFAX network and returns a security token used for subsequent authentication. Until a device has been created/enabled within the etherFAX network, this function cannot be completed successfully. Devices already registered within the system may not be re-registered until reset within the etherFAX administration portal.
      operationId: devices-register
      parameters:
      - name: a
        in: query
        description: Action to perform.
        schema:
          type: string
          default: register
      - name: id
        in: query
        description: Specifies the serial number of the device performing the registration. This serial number must exist in the etherFAX portal and bound to a valid etherFAX account.
        schema:
          type: string
      - name: token
        in: query
        description: Unique registration token created by the device for validation against the etherFAX network.
        schema:
          type: string
      - name: profile
        in: query
        description: (Optional) The profile parameter allows the registering device to specify a device profile. If specified, the profile will be automatically associated with the device in the etherFAX Portal. Device profiles specify capabilities such as supported document types, resolutions, and page sizes.
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"DeviceToken\": \"54524a6421f1ddaf6781c79f9e176cfc\"\n}"
              schema:
                type: object
                properties:
                  DeviceToken:
                    type: string
                    example: 54524a6421f1ddaf6781c79f9e176cfc
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      security: []
      tags:
      - Devices
  /devices?a=setaddr:
    get:
      summary: /devices (setaddr)
      description: Allows the remote client to set the local IP address of the device. This function serves no other purposes than to report the current IP address of the device that may be viewed within the etherFAX administrative portal.
      operationId: devices-setaddr
      parameters:
      - name: a
        in: query
        description: Action to perform.
        schema:
          type: string
          default: setaddr
      - name: addr
        in: query
        description: The string representation of the device's local IP address.
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{

                    }'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Devices
  /devices?a=setconfig:
    get:
      summary: /devices (setconfig)
      description: Allows the remote client to set certain configuration features of the device or quickly enable/disable others.
      operationId: devices-setconfig
      parameters:
      - name: a
        in: query
        description: Action to perform.
        schema:
          type: string
          default: config
      - name: options
        in: query
        description: When using the setconfig action, the options parameter contains one or more options (or features) you wish to change, including the specified value.
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  Encryption: true\n}"
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Devices
  /devices?a=status:
    get:
      summary: /devices (status)
      description: Queries the status of the device and returns all properties and settings associated with the authenticated device.
      operationId: devices-status
      parameters:
      - name: a
        in: query
        description: Query the device status.
        schema:
          type: string
          default: status
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"SerialNumber\": \"MT873615726\",\n  \"Enabled\": true,\n  \"SendEnable\": true,\n  \"ReceiveEnable\": true,\n  \"Reporting\": 0,\n  \"SkipLines\": 45,\n  \"LocalId\": null,\n  \"CallerId\": null,\n  \"PrinterIp\": \"192.168.1.100\",\n  \"DeviceFlags\": 3,\n  \"CreatedOn\": \"2016-09-19T17:15:38.707\",\n  \"RegisteredOn\": \"2016-12-29T14:18:56.443\",\n  \"TimeZone\": \"America/New_York\"\n}"
              schema:
                type: object
                properties:
                  SerialNumber:
                    type: string
                    example: MT873615726
                  Enabled:
                    type: boolean
                    example: true
                    default: true
                  SendEnable:
                    type: boolean
                    example: true
                    default: true
                  ReceiveEnable:
                    type: boolean
                    example: true
                    default: true
                  Reporting:
                    type: integer
                    example: 0
                    default: 0
                  SkipLines:
                    type: integer
                    example: 45
                    default: 0
                  LocalId: {}
                  CallerId: {}
                  PrinterIp:
                    type: string
                    example: 192.168.1.100
                  DeviceFlags:
                    type: integer
                    example: 3
                    default: 0
                  CreatedOn:
                    type: string
                    example: '2016-09-19T17:15:38.707'
                  RegisteredOn:
                    type: string
                    example: '2016-12-29T14:18:56.443'
                  TimeZone:
                    type: string
                    example: America/New_York
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Devices
  /devices?a=unread:
    get:
      summary: /devices (unread)
      description: Returns the number of unread faxes waiting for the associated device. Since the default device is selected as part of the authentication request, the {id} parameter is not required. This function behaves similarly to the inbox controller, except an additional action value is provided in the response.
      operationId: devices-unread
      parameters:
      - name: a
        in: query
        description: Action to perform.
        schema:
          type: string
          default: unread
      - name: wait
        in: query
        description: Specifies the timeout in seconds to wait for a new fax to arrive. This wait method is only valid when using the unread action. When waiting, the function will return immediately if unread faxes are available for download or a new fax has arrived during the wait period.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"UnreadFaxes\": 0\n  \"Action\": 0\n}"
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Devices
components:
  securitySchemes:
    sec0:
      type: http
      scheme: basic
x-readme-fauxas: true
x-provenance:
  method: searched
  source: https://docs.etherfax.net/reference
  harvested: '2026-10-26'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.etherfax.net/reference/accounts-pkino.md
  - https://docs.etherfax.net/reference/accounts.md
  - https://docs.etherfax.net/reference/devices-actionreset.md
  - https://docs.etherfax.net/reference/devices-list.md
  - https://docs.etherfax.net/reference/devices-pkinfo.md
  - https://docs.etherfax.net/reference/devices-register.md
  - https://docs.etherfax.net/reference/devices-setaddr.md
  - https://docs.etherfax.net/reference/devices-setconfig.md
  - https://docs.etherfax.net/reference/devices-status.md
  - https://docs.etherfax.net/reference/devices-unread.md
  - https://docs.etherfax.net/reference/inbox-get.md
  - https://docs.etherfax.net/reference/inbox-getnext.md
  - https://docs.etherfax.net/reference/inbox-list.md
  - https://docs.etherfax.net/reference/inbox-received.md
  - https://docs.etherfax.net/reference/inbox-unread.md
  - https://docs.etherfax.net/reference/outbox-pending.md
  - https://docs.etherfax.net/reference/outbox.md
  - https://docs.etherfax.net/reference/routes-enable.md
  - https://docs.etherfax.net/reference/routes-info.md
  - https://docs.etherfax.net/reference/routes-list.md
  - https://docs.etherfax.net/reference/routes-parse.md
  - https://docs.etherfax.net/reference/status-post.md
  - https://docs.etherfax.net/reference/status.md
  merge:
    pages: 23
    deduped: 22
    conflicts_kept_first: 0