SignalWire SIP Credentials API

Manage SIP credentials for authenticating SIP endpoints.

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-sip-credentials-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-sip-credentials-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SignalWire REST SIP Credentials API
  version: 1.0.0
  contact:
    name: SignalWire
    url: https://support.signalwire.com/portal/en/newticket?departmentId=1029313000000006907&layoutId=1029313000000074011
    email: support@signalwire.com
  license:
    name: MIT
    url: https://github.com/signalwire/docs/blob/main/LICENSE
  termsOfService: https://signalwire.com/legal/signalwire-cloud-agreement
  description: Manage SIP credentials for authenticating SIP endpoints.
servers:
- url: https://{space_name}.signalwire.com
  description: SignalWire API
  variables:
    space_name:
      default: '{Your_Space_Name}'
      description: Your SignalWire Space name
security:
- SignalWireBasicAuth: []
tags:
- name: SIP Credentials
  description: Manage SIP credentials for authenticating SIP endpoints.
  externalDocs:
    url: https://signalwire.com/docs/apis
    description: Developer documentation on SIP Credentials, Fabric API endpoints
paths:
  /api/fabric/resources/sip_endpoints:
    get:
      operationId: list_sip_credentials
      summary: List SIP credentials
      description: 'A list of SIP Credentials


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters: []
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SipEndpointListResponse'
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
        '404':
          description: The server cannot find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - SIP Credentials
    post:
      operationId: create_sip_credential
      summary: Create SIP credential
      description: 'Creates a SIP Credential


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters: []
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipEndpointResponse'
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
        '404':
          description: The server cannot find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
        '422':
          description: The request contains invalid parameters. See errors for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceSipEndpointCreateStatusCode422'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - SIP Credentials
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipEndpointCreateRequest'
  /api/fabric/resources/sip_endpoints/{id}:
    get:
      operationId: get_sip_credential
      summary: Get SIP credential
      description: 'Returns a SIP Credential by ID


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/SipEndpointPathID'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipEndpointResponse'
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
        '404':
          description: The server cannot find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - SIP Credentials
    put:
      operationId: update_sip_credential
      summary: Update SIP credential
      description: 'Updates a SIP Credential by ID


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/SipEndpointPathID'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipEndpointResponse'
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
        '404':
          description: The server cannot find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
        '422':
          description: The request contains invalid parameters. See errors for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceSipEndpointUpdateStatusCode422'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - SIP Credentials
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipEndpointUpdateRequest'
    delete:
      operationId: delete_sip_credential
      summary: Delete SIP credential
      description: 'Deletes a SIP Credential by ID


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/SipEndpointPathID'
      responses:
        '204':
          description: 'There is no content to send for this request, but the headers may be useful. '
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
        '404':
          description: The server cannot find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - SIP Credentials
  /api/fabric/resources/sip_endpoints/{id}/addresses:
    get:
      operationId: list_sip_credential_addresses
      summary: List SIP credential Addresses
      description: 'A list of addresses assigned to a SIP Credential.


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/SipEndpointAddressPathID'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipEndpointAddressListResponse'
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
        '404':
          description: The server cannot find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - SIP Credentials
  /api/fabric/resources/{id}/sip_endpoints:
    post:
      operationId: assign_resource_to_sip_credential
      summary: Assign Resource to SIP credential
      description: 'This endpoint assigns a specific resource to a SIP endpoint, allowing inbound calls to be handled by the resource.

        <Note>

        Currently only supports `calling` as a handler and automatically defaults to it.

        </Note>


        #### Permissions


        The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.


        [Learn more about API scopes](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/ResourceSipEndpointPathID'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceSipEndpointResponse'
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
        '404':
          description: The server cannot find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
        '422':
          description: The request contains invalid parameters. See errors for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceSubSipEndpointCreateStatusCode422'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - SIP Credentials
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceSipEndpointAssignRequest'
components:
  parameters:
    ResourceSipEndpointPathID:
      name: id
      in: path
      required: true
      description: The unique identifier of the Resource.
      schema:
        $ref: '#/components/schemas/uuid'
    SipEndpointAddressPathID:
      name: id
      in: path
      required: true
      description: The unique identifier of the SIP Endpoint.
      schema:
        $ref: '#/components/schemas/uuid'
    SipEndpointPathID:
      name: id
      in: path
      required: true
      description: Unique ID of the SIP endpoint.
      schema:
        $ref: '#/components/schemas/uuid'
  schemas:
    Types.StatusCodes.StatusCode401:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          enum:
          - Unauthorized
      unevaluatedProperties:
        not: {}
      description: Access is unauthorized.
    ResourceSipEndpointResponse:
      type: object
      required:
      - id
      - name
      - type
      - cover_url
      - preview_url
      - channels
      properties:
        id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier of the SIP endpoint.
          examples:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
        name:
          type: string
          description: The name for the SIP endpoint.
          examples:
          - sip_user
        type:
          type: string
          enum:
          - call
          description: The Resource type
          examples:
          - call
        cover_url:
          anyOf:
          - type: string
            format: uri
          - type: 'null'
          description: The cover URL for the SIP endpoint.
          examples:
          - https://example.com/cover.jpg
        preview_url:
          anyOf:
          - type: string
            format: uri
          - type: 'null'
          description: The preview URL for the SIP endpoint.
          examples:
          - https://example.com/preview.jpg
        channels:
          allOf:
          - $ref: '#/components/schemas/AddressChannel'
          description: An object containing the resource addresses with the specified comunication channels
      unevaluatedProperties:
        not: {}
    Encryption:
      type: string
      enum:
      - required
      - optional
      - default
    Codecs:
      type: string
      enum:
      - PCMU
      - PCMA
      - G722
      - G729
      - OPUS
      - OPUS@48000H@20I
      - OPUS@24000H@20I
      - OPUS@16000H@20I
      - OPUS@8000H@20I
      - VP8
      - H264
    SipEndpointAddressPaginationResponse:
      type: object
      required:
      - self
      - first
      properties:
        self:
          type: string
          format: uri
          description: Link of the current page
          examples:
          - https://example.signalwire.com/api/fabric/resources/sip_endpoints/7ecfd15a-fb9a-45a4-9b89-c0740a44c593/addresses?page_number=0&page_size=50&type=sip_endpoint
        first:
          type: string
          format: uri
          description: Link to the first page
          examples:
          - https://example.signalwire.com/api/fabric/resources/sip_endpoints/7ecfd15a-fb9a-45a4-9b89-c0740a44c593/addresses?page_size=50&type=sip_endpoint
        next:
          type: string
          format: uri
          description: Link to the next page
          examples:
          - https://example.signalwire.com/api/fabric/resources/sip_endpoints/7ecfd15a-fb9a-45a4-9b89-c0740a44c593/addresses?page_number=1&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=sip_endpoint
        prev:
          type: string
          format: uri
          description: Link to the previous page
          examples:
          - https://example.signalwire.com/api/fabric/resources/sip_endpoints/7ecfd15a-fb9a-45a4-9b89-c0740a44c593/addresses?page_number=0&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=sip_endpoint
      unevaluatedProperties:
        not: {}
    SipEndpointCreateRequest:
      type: object
      required:
      - id
      - username
      - caller_id
      - send_as
      - ciphers
      - codecs
      - encryption
      - call_handler
      - calling_handler_resource_id
      properties:
        id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The id of the Sip Endpoint
          examples:
          - 993ed018-9e79-4e50-b97b-984bd5534095
        username:
          type: string
          description: The username of the Sip Endpoint
          examples:
          - User
        caller_id:
          type: string
          description: The caller ID that will showup when dialing from this Sip Endpoint
          examples:
          - '123456789'
        send_as:
          type: string
          description: The Sip username that will show up on the calle's side. Overrides the username.
          examples:
          - Support
        ciphers:
          type: array
          items:
            $ref: '#/components/schemas/Ciphers'
          description: Ciphers that can be enabled for calls on this Sip Endpoint.
          examples:
          - - AEAD_AES_256_GCM_8
            - AES_256_CM_HMAC_SHA1_32
        codecs:
          type: array
          items:
            $ref: '#/components/schemas/Codecs'
          description: Codecs that can be enabled for calls on this Sip Endpoint.
          examples:
          - - G722
            - PCMA
            - PCMU
            - VP8
        encryption:
          allOf:
          - $ref: '#/components/schemas/Encryption'
          description: The set encryption type on the Sip Endpoint.
          examples:
          - default
          default: default
        call_handler:
          allOf:
          - $ref: '#/components/schemas/CallHandlerType'
          description: 'Specify how the SIP endpoint will handle outbound calls.

            - **default**: The SIP endpoint will pull the outbound policy setting from the [SIP Profile Settings](https://my.signalwire.com?page=sip_profile/edit). This allows centralized management of outbound call behavior across multiple endpoints from a single configuration.

            - **passthrough**: The SIP endpoint will be allowed to dial PSTN numbers. This permits outbound calling to traditional phone numbers without restrictions.

            - **block-pstn**: The SIP endpoint will be blocked from dialing PSTN numbers. Use this to restrict the endpoint from initiating calls to the public telephone network.

            - **resource**: Outbound calls from this SIP endpoint will dial the specified resource and execute its instructions. Requires setting `calling_handler_resource_id` to a valid resource. This enables custom call handling workflows for outbound calls.'
          examples:
          - default
        calling_handler_resource_id:
          anyOf:
          - $ref: '#/components/schemas/uuid'
          - type: 'null'
          description: If `call_handler` is set to `resource`, this field expects the id of the set resouce. Will be `null` otherwise.
          examples:
          - 993ed018-9e79-4e50-b97b-984bd5534095
      unevaluatedProperties:
        not: {}
    AddressChannel:
      anyOf:
      - $ref: '#/components/schemas/AudioChannel'
      - $ref: '#/components/schemas/MessagingChannel'
      - $ref: '#/components/schemas/VideoChannel'
    VideoChannel:
      type: object
      required:
      - video
      properties:
        video:
          type: string
          description: Video Channel of Fabric Address
          examples:
          - /external/resource_name?channel=video
      unevaluatedProperties:
        not: {}
    Ciphers:
      type: string
      enum:
      - AEAD_AES_256_GCM_8
      - AES_256_CM_HMAC_SHA1_80
      - AES_CM_128_HMAC_SHA1_80
      - AES_256_CM_HMAC_SHA1_32
      - AES_CM_128_HMAC_SHA1_32
    CallHandlerType:
      type: string
      enum:
      - default
      - passthrough
      - block-pstn
      - resource
    AudioChannel:
      type: object
      required:
      - audio
      properties:
        audio:
          type: string
          description: Audio Channel of Fabric Address
          examples:
          - /external/resource_name?channel=audio
      unevaluatedProperties:
        not: {}
    uuid:
      type: string
      format: uuid
      description: Universal Unique Identifier.
    Types.StatusCodes.StatusCode404:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          enum:
          - Not Found
      unevaluatedProperties:
        not: {}
      description: The server cannot find the requested resource.
    ResourceSubSipEndpointCreateStatusCode422:
      type: object
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Types.StatusCodes.RestApiErrorItem'
          description: List of validation errors.
      unevaluatedProperties:
        not: {}
      description: The request contains invalid parameters. See errors for details.
      examples:
      - statusCode: 422
        errors:
        - type: validation_error
          code: missing_required_parameter
          message: username is required
          attribute: username
          url: https://signalwire.com/docs/apis/error-codes
    Types.StatusCodes.StatusCode500:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          enum:
          - Internal Server Error
      unevaluatedProperties:
        not: {}
      description: An internal server error occurred.
    SipEndpointCallHandler:
      type: string
      enum:
      - relay_context
      - relay_topic
      - relay_application
      - relay_connector
      - relay_script
      - laml_webhooks
      - laml_application
      - dialogflow
      - video_room
      - call_flow
      - ai_agent
      description: Call handler type for SIP endpoints.
    ResourceSipEndpointAssignRequest:
      type: object
      required:
      - sip_endpoint_id
      properties:
        sip_endpoint_id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier of the SIP endpoint.
          examples:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
      unevaluatedProperties:
        not: {}
      title: Create resource SIP endpoint
    PaginationLinks:
      type: object
      required:
      - self
      - first
      properties:
        self:
          type: string
          description: Link to the current page.
        first:
          type: string
          description: Link to the first page.
        next:
          type: string
          description: Link to the next page. Only present when there are more results.
        prev:
          type: string
          description: Link to the previous page. Only present when not on the first page.
      unevaluatedProperties:
        not: {}
      description: Pagination links for list responses.
    SipEndpoint:
      type: object
      required:
      - type
      - id
      - username
      - caller_id
      - send_as
      - ciphers
      - codecs
      - encryption
      - call_handler
      - calling_handler_resource_id
      - call_request_url
      - call_request_method
      - call_fallback_url
      - call_fallback_method
      - call_status_callback_url
      - call_status_callback_method
      - call_laml_application_id
      - call_dialogflow_agent_id
      - call_relay_topic
      - call_relay_topic_status_callback_url
      - call_relay_context
      - call_relay_context_status_callback_url
      - call_relay_application
      - call_video_room_id
      - call_relay_script_url
      properties:
        type:
          type: string
          description: A string representation of the type of object this record is.
          examples:
          - sip_endpoint
        id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier of the SIP endpoint.
          examples:
          - 67075301-69b2-4fc3-8a2c-c95a69a5665e
        username:
          type: string
          description: The username for the SIP endpoint.
          examples:
          - c3p0
        caller_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Friendly Caller ID used as the CNAM when dialing a phone number or the From when dialing another SIP Endpoint.
          examples:
          - C-3P0
        send_as:
          type: string
          description: When dialing a PSTN phone number, you must send it From a number you have purchased or verified. send_as indicates which number this endpoint has set as its origination. random indicates it will randomly choose a purchased or verified number from within the project.
          examples:
          - random
        ciphers:
          type: array
          items:
            type: string
          description: A list of encryption ciphers this endpoint will support.
        codecs:
          type: array
          items:
            type: string
          description: A list of codecs this endpoint will support.
        encryption:
          type: string
          enum:
          - default
          - required
          - optional
          description: Whether connections to this endpoint require encryption or if encryption is optional.
          examples:
          - required
        call_handler:
          anyOf:
          - $ref: '#/components/schemas/SipEndpointCallHandler'
          - type: 'null'
          description: What type of handler you want to run on inbound calls.
          examples:
          - ai_agent
        calling_handler_resource_id:
          anyOf:
          - $ref: '#/components/schemas/uuid'
          - type: 'null'
          description: The unique identifier of the calling handler resource.
          examples:
          - fe4093d9-58c2-4931-b4b9-5679f82652c6
        call_request_url:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing the LaML URL to access when a call is received. This is only used (and required) when call_handler is set to laml_webhooks.
        call_request_method:
          anyOf:
          - type: string
            enum:
            - GET
            - POST
          - type: 'null'
          description: A string representing the HTTP method to use with call_request_url. Valid values are GET and POST.
          examples:
          - POST
        call_fallback_url:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing the LaML URL to access when the call to call_request_url fails. This is only used (and required) when call_handler is set to laml_webhooks.
        call_fallback_method:
          anyOf:
          - type: string
            enum:
            - GET
            - POST
          - type: 'null'
          description: A string representing the HTTP method to use with call_fallback_url. Valid values are GET and POST.
          examples:
          - POST
        call_status_callback_url:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to laml_webhooks.
        call_status_callback_method:
          anyOf:
          - type: string
            enum:
            - GET
            - POST
          - type: 'null'
          description: A string representing the HTTP method to use with call_status_callback_url. Valid values are GET and POST.
          examples:
          - POST
        call_laml_application_id:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing the ID of the LaML application to forward incoming calls to. This is only used (and required) when call_handler is set to laml_application.
        call_dialogflow_agent_id:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing the ID of the Dialogflow agent to forward incoming calls to. This is only used (and required) when call_handler is set to dialogflow.
        call_relay_topic:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing the Relay topic to forward incoming calls to. This is only used (and required) when call_handler is set to relay_topic.
          examples:
          - office
        call_relay_topic_status_callback_url:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to relay_topic.
          examples:
          - https://myapplication/handle_relay_callbacks
        call_relay_context:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing the Relay context to forward incoming calls to. This is only used (and required) when call_handler is set to relay_context.
        call_relay_context_status_callback_url:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to relay_context.
          examples:
          - https://myapplication/handle_relay_callbacks
        call_relay_application:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing the Relay application to forward incoming calls to. This is only used (and required) when call_handler is set to relay_application.
        call_video_room_id:
          anyOf:
          - $ref: '#/components/schemas/uuid'
          - type: 'null'
          description: A string representing the ID of the Video Room to forward incoming calls to. This is only used (and required) when call_handler is set to video_room.
        call_relay_script_url:
          anyOf:
          - type: string
          - type: 'null'
          description: A string representing a URL of a SWML script to respond to incoming calls. This is only used (and required) when call_handler is set to relay_script.
          examples:
          - https://dev.signalwire.com/relay-bins/f9d13f68-f71e-4042-95bb-b07b9e2f2f92
      unevaluatedProperties:
        not: {}
      description: SIP endpoint model.
    ResourceSipEndpointCreateStatusCode422:
      type: object
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Types.StatusCodes.RestApiErrorItem'
          description: List of validation errors.
      unevaluatedProperties:
        not: {}
      description: The request contains invalid parameters. See errors for details.
      examples:
      - statusCode: 422
        errors:
        - type: validation_error
          code: missing_required_parameter
          message: username is required
          attribute: username
          url: https://signalwire.com/docs/apis/error-codes
    MessagingChannel:
      type: object
      required:
      - messaging
      properties:
        messaging:
          type: string
          description: Messaging Channel of Fabric Address
          examples:
          - /external/resource_name?channel=messaging
      unevaluatedProperties:
        not: {}
    SipEndpointResponse:
      type: object
      required:
      - type
      - id
      - username
      - caller_id
      - send_as
      - ciphers
      - codecs
      - encryption
      - call_handler
      - calling_handler_resource_id
      - call_request_url
      - call_request_method
      - call_fallback_url
      - call_fallback_method
      - call_status_callback_url
      - call_status_callback_method
      - call_laml_application_id
      - call_dialogflow_agent_id
      - call_relay_topic
      - call_relay_topic_status_callback_url
      - call_relay_context
      - call_relay_context_status_callback_url
      - call_relay_application
      - call_video_roo

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/signalwire/refs/heads/main/openapi/signalwire-sip-credentials-api-openapi.yml