SignalWire Tokens API

Manage API tokens for authentication.

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/signalwire-tokens-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 email required.

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

OpenAPI Specification

signalwire-tokens-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Compatibility Tokens API
  version: 1.0.0
  description: Manage API tokens for authentication.
servers:
- url: https://{space_name}.signalwire.com/api/laml/2010-04-01
  description: SignalWire Compatibility API
  variables:
    space_name:
      default: YOUR_SPACE
      description: Your SignalWire Space name
security:
- SignalWireBasicAuth: []
tags:
- name: Tokens
  description: Manage API tokens for authentication.
  externalDocs:
    url: https://signalwire.com/docs/compatibility-api/rest
    description: Developer documentation on the Compatibility REST API
paths:
  /Accounts/{AccountSid}/tokens:
    post:
      operationId: create_token
      summary: Generate a new API Token
      description: 'Generate an API Token for a project to be used to authenticate requests within the project.


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Management_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/TokensAccountSidPath'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '400':
          description: The request was invalid or cannot be processed. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '401':
          description: Authentication failed. Please verify your credentials and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '422':
          description: The token request could not be processed due to validation errors. Check the error details for the specific issue.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityTokenValidationError'
      tags:
      - Tokens
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateTokenRequest'
  /Accounts/{AccountSid}/tokens/{token_id}:
    patch:
      operationId: update_token
      summary: Update an API Token
      description: 'Update an API Token''s name or permissions.


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Management_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/TokensAccountSidPath'
      - $ref: '#/components/parameters/TokenIdPath'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '400':
          description: The request was invalid or cannot be processed. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '401':
          description: Authentication failed. Please verify your credentials and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '404':
          description: The requested resource was not found. Please verify the resource identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '422':
          description: The token request could not be processed due to validation errors. Check the error details for the specific issue.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityTokenValidationError'
      tags:
      - Tokens
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTokenRequest'
    delete:
      operationId: delete_token
      summary: Delete an API Token
      description: 'Delete an API Token. This action cannot be undone.


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Management_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/TokensAccountSidPath'
      - $ref: '#/components/parameters/TokenIdPath'
      responses:
        '204':
          description: 204 No Content response.
        '400':
          description: The request was invalid or cannot be processed. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '401':
          description: Authentication failed. Please verify your credentials and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '404':
          description: The requested resource was not found. Please verify the resource identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
      tags:
      - Tokens
components:
  schemas:
    CreateTokenRequest:
      type: object
      required:
      - name
      - permissions
      properties:
        name:
          type: string
          minLength: 1
          description: The name representing the project API token.
          examples:
          - John Doe's Token
        permissions:
          type: array
          items:
            type: string
          minItems: 1
          description: 'The permissions you would like to enable for this project API token. Valid permissions are: calling, chat, datasphere, fax, management, messaging, numbers, pubsub, storage, tasking, and video.'
          examples:
          - - calling
            - fax
            - messaging
        subproject_id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier of the subproject you would like to create a token for. Must belong to the parent project.
          examples:
          - 9a7fc048-984f-11ee-b9d1-0242ac120002
      unevaluatedProperties:
        not: {}
      description: Request body for creating an API token.
    TokenResponse:
      type: object
      required:
      - id
      - name
      - permissions
      - token
      properties:
        id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier of the created API Token.
          examples:
          - ea14556a-984f-11ee-b9d1-0242ac120002
        name:
          type: string
          minLength: 1
          description: The name of the created API Token.
          examples:
          - John Doe's Token
        permissions:
          type: array
          items:
            type: string
          description: The permissions enabled for this token.
          examples:
          - - calling
            - fax
            - messaging
        token:
          type: string
          description: The API token that can be used along with the project ID for basic authentication.
          examples:
          - PT037258e533e87ac63174ee136ed0798dc85d4f4f9e6d7191
      unevaluatedProperties:
        not: {}
      description: Response containing a single token.
    uuid:
      type: string
      format: uuid
      description: Universal Unique Identifier.
    CompatibilityTokenValidationError:
      type: object
      properties:
        type:
          type: string
          description: Error type.
        code:
          type: string
          description: Error code.
        message:
          type: string
          description: Error message.
        attribute:
          type: string
          description: Request parameter associated with this error.
        url:
          type: string
          format: uri
          description: Link to developer resource for this error.
      unevaluatedProperties:
        not: {}
      description: Token validation error response model.
    UpdateTokenRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          description: The name representing the project API token.
          examples:
          - John Doe's Token
        permissions:
          type: array
          items:
            type: string
          description: 'The permissions you would like to enable for this project API token. If not provided, existing permissions are kept. Valid permissions are: calling, chat, datasphere, fax, management, messaging, numbers, pubsub, storage, tasking, and video.'
          examples:
          - - calling
            - fax
            - messaging
      unevaluatedProperties:
        not: {}
      description: Request body for updating an API token.
    CompatibilityErrorResponse:
      type: object
      required:
      - code
      - message
      - more_info
      - status
      properties:
        code:
          type: integer
          format: int32
          description: Error code.
          examples:
          - 20003
        message:
          type: string
          description: Error message.
          examples:
          - Authentication failed
        more_info:
          type: string
          description: URL for more information about the error.
          examples:
          - https://signalwire.com/docs/compatibility-api/reference/errors
        status:
          type: integer
          format: int32
          description: HTTP status code.
          examples:
          - 401
      unevaluatedProperties:
        not: {}
      description: Error response model.
  parameters:
    TokensAccountSidPath:
      name: AccountSid
      in: path
      required: true
      description: The unique identifier for the project you want to use to authenticate this request.
      schema:
        $ref: '#/components/schemas/uuid'
    TokenIdPath:
      name: token_id
      in: path
      required: true
      description: The unique identifier of the project API token.
      schema:
        $ref: '#/components/schemas/uuid'
  securitySchemes:
    SignalWireBasicAuth:
      type: http
      scheme: Basic
      description: 'SignalWire Basic Authentication using Project ID and API Token.


        The client sends HTTP requests with the Authorization header containing

        the word Basic followed by a space and a base64-encoded string of project_id:token.

        The project ID will be used as the username and the API token as the password.


        Example:

        ```

        Authorization: Basic base64(project_id:token)

        ```'
      x-fern-basic:
        username:
          name: project_id
          env: SIGNALWIRE_PROJECT_ID
        password:
          name: api_token
          env: SIGNALWIRE_API_TOKEN