SignalWire AI Agents: Custom API

Endpoints related to creating & managing SignalWire AI Agents

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-ai-agents-custom-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-ai-agents-custom-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'SignalWire REST AI Agents: Custom 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: Endpoints related to creating & managing SignalWire AI Agents
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: 'AI Agents: Custom'
  description: Endpoints related to creating & managing SignalWire AI Agents
  externalDocs:
    url: https://signalwire.com/docs/apis
    description: Developer documentation on SignalWire AI Agent, Fabric API endpoints
paths:
  /api/fabric/resources/ai_agents:
    get:
      operationId: list_ai_agents
      summary: List AI agents
      description: 'A list of AI Agents


        #### 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/AIAgentListResponse'
              examples:
                AI agent list:
                  summary: AI agent list
                  description: A page containing one AI agent.
                  value:
                    data:
                    - id: 993ed018-9e79-4e50-b97b-984bd5534095
                      project_id: 1313fe58-5e14-4c11-bbe7-6fdfa11fe780
                      display_name: Support Assistant
                      type: ai_agent
                      created_at: '2024-05-06T12:20:00Z'
                      updated_at: '2024-05-06T12:25:00Z'
                      ai_agent:
                        prompt:
                          text: You are a helpful customer support assistant.
                        agent_id: a87db7ed-8ebe-42e4-829f-8ba5a4152f54
                        name: Support Assistant
                    links:
                      self: https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=0&page_size=50
                      first: https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=0&page_size=50
        '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:
      - 'AI Agents: Custom'
    post:
      operationId: create_ai_agent
      summary: Create AI agent
      description: 'Creates an AI Agent


        #### 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:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAgentResponse'
              examples:
                Customer support agent:
                  summary: Customer support agent
                  description: Create an AI agent with a concise text prompt.
                  value:
                    id: 993ed018-9e79-4e50-b97b-984bd5534095
                    project_id: 1313fe58-5e14-4c11-bbe7-6fdfa11fe780
                    display_name: Support Assistant
                    type: ai_agent
                    created_at: '2024-05-06T12:20:00Z'
                    updated_at: '2024-05-06T12:25:00Z'
                    ai_agent:
                      prompt:
                        text: You are a helpful customer support assistant.
                      agent_id: a87db7ed-8ebe-42e4-829f-8ba5a4152f54
                      name: Support Assistant
        '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/AIAgentCreateStatusCode422'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - 'AI Agents: Custom'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AIAgentCreateRequest'
            examples:
              Customer support agent:
                summary: Customer support agent
                description: Create an AI agent with a concise text prompt.
                value:
                  prompt:
                    text: You are a helpful customer support assistant.
                  name: Support Assistant
  /api/fabric/resources/ai_agents/{ai_agent_id}/addresses:
    get:
      operationId: list_ai_agent_addresses
      summary: List AI agent Addresses
      description: 'This endpoint returns a list of addresses associated with a specific AI Agent.


        #### 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/AIAgentIDPath'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAgentAddressListResponse'
        '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:
      - 'AI Agents: Custom'
  /api/fabric/resources/ai_agents/{id}:
    get:
      operationId: get_ai_agent
      summary: Get AI agent
      description: 'Returns an AI Agent 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/AIAgentPathID'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAgentResponse'
              examples:
                AI agent:
                  summary: AI agent
                  description: A customer support AI agent.
                  value:
                    id: 993ed018-9e79-4e50-b97b-984bd5534095
                    project_id: 1313fe58-5e14-4c11-bbe7-6fdfa11fe780
                    display_name: Support Assistant
                    type: ai_agent
                    created_at: '2024-05-06T12:20:00Z'
                    updated_at: '2024-05-06T12:25:00Z'
                    ai_agent:
                      prompt:
                        text: You are a helpful customer support assistant.
                      agent_id: a87db7ed-8ebe-42e4-829f-8ba5a4152f54
                      name: Support Assistant
        '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:
      - 'AI Agents: Custom'
    patch:
      operationId: update_ai_agent
      summary: Update AI agent
      description: 'Updates an AI Agent 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/AIAgentPathID'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAgentResponse'
              examples:
                Update the agent prompt:
                  summary: Update the agent prompt
                  description: Replace an AI agent's prompt while leaving its other settings unchanged.
                  value:
                    id: 993ed018-9e79-4e50-b97b-984bd5534095
                    project_id: 1313fe58-5e14-4c11-bbe7-6fdfa11fe780
                    display_name: Support Assistant
                    type: ai_agent
                    created_at: '2024-05-06T12:20:00Z'
                    updated_at: '2024-05-06T12:25:00Z'
                    ai_agent:
                      prompt:
                        text: You are a helpful customer support assistant.
                      agent_id: a87db7ed-8ebe-42e4-829f-8ba5a4152f54
                      name: Support Assistant
        '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/AIAgentUpdateStatusCode422'
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
      tags:
      - 'AI Agents: Custom'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AIAgentUpdateRequest'
            examples:
              Update the agent prompt:
                summary: Update the agent prompt
                description: Replace an AI agent's prompt while leaving its other settings unchanged.
                value:
                  prompt:
                    text: You are a concise customer support assistant.
                  name: Support Assistant
    delete:
      operationId: delete_ai_agent
      summary: Delete AI agent
      description: 'Deletes an AI Agent 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/AIAgentPathID'
      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:
      - 'AI Agents: Custom'
components:
  schemas:
    AIAgentResponse:
      type: object
      required:
      - id
      - project_id
      - display_name
      - type
      - created_at
      - updated_at
      - ai_agent
      properties:
        id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: Unique ID of the AIAgent.
          examples:
          - a87db7ed-8ebe-42e4-829f-8ba5a4152f54
        project_id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: Unique ID of the Project.
          examples:
          - 99151cf8-9548-4860-ba70-a8de824f3312
        display_name:
          type: string
          description: Display name of the AIAgent Fabric Resource
          examples:
          - Booking Assistant
        type:
          type: string
          enum:
          - ai_agent
          description: Type of the Fabric Resource
          examples:
          - ai_agent
        created_at:
          type: string
          format: date-time
          description: Date and time when the resource was created.
          examples:
          - '2024-05-06T12:20:00Z'
        updated_at:
          type: string
          format: date-time
          description: Date and time when the resource was updated.
          examples:
          - '2024-05-06T12:20:00Z'
        ai_agent:
          allOf:
          - $ref: '#/components/schemas/AIAgent'
          description: AIAgent data.
      unevaluatedProperties:
        not: {}
    AIAgentPaginationResponse:
      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/ai_agents?page_number=0&page_size=50&type=ai_agent
        first:
          type: string
          format: uri
          description: Link to the first page
          examples:
          - https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=0&page_size=50&type=ai_agent
        next:
          type: string
          format: uri
          description: Link to the next page
          examples:
          - https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=1&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=ai_agent
        prev:
          type: string
          format: uri
          description: Link to the previous page
          examples:
          - https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=0&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=ai_agent
      unevaluatedProperties:
        not: {}
    Types.StatusCodes.StatusCode401:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          enum:
          - Unauthorized
      unevaluatedProperties:
        not: {}
      description: Access is unauthorized.
    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: {}
    AIAgentUpdateStatusCode422:
      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: Name can't be blank
          attribute: name
          url: https://signalwire.com/docs/apis/error-codes
    AIAgent:
      type: object
      required:
      - prompt
      - agent_id
      - name
      properties:
        hints:
          type: array
          items:
            type: string
          description: 'Hints help the AI agent understand certain words or phrases better. Words that can commonly be misinterpreted can be added to the hints to help the AI speak more accurately.


            See [`ai.hints` in the SWML reference](/docs/swml/reference/calling/ai#aihints).'
          examples:
          - - pizza
            - pepperoni
        languages:
          type: array
          items:
            type: object
            unevaluatedProperties: {}
          description: 'An array of JSON objects defining supported languages in the conversation.

            Mutually exclusive with `multilingual`: if both are set, `multilingual` is used and

            this array is ignored.


            See [`ai.languages` in the SWML reference](/docs/swml/reference/calling/ai#ailanguages).'
          examples:
          - - name: English
              code: en-US
              voice: rime.spore
        params:
          type: object
          unevaluatedProperties: {}
          description: 'A JSON object containing parameters as key-value pairs.


            See [`ai.params` in the SWML reference](/docs/swml/reference/calling/ai#aiparams).'
          examples:
          - ai_model: gpt-4o-mini
            wait_for_user: true
        post_prompt:
          type: object
          unevaluatedProperties: {}
          description: 'The final set of instructions and configuration settings to send to the agent.


            See [`ai.post_prompt` in the SWML reference](/docs/swml/reference/calling/ai#aipost_prompt).'
          examples:
          - text: Summarize the conversation and provide any follow-up action items.
        pronounce:
          type: array
          items:
            type: object
            unevaluatedProperties: {}
          description: 'An array of JSON objects to clarify the AI''s pronunciation of words or expressions.


            See [`ai.pronounce` in the SWML reference](/docs/swml/reference/calling/ai#aipronounce).'
          examples:
          - - replace: SWML
              with: swim-el
              ignore_case: true
        prompt:
          type: object
          unevaluatedProperties: {}
          description: 'Defines the AI agent''s personality, goals, behaviors, and instructions for handling conversations.

            The prompt establishes how the agent should interact with callers, what information it should gather,

            and how it should respond to various scenarios. It is recommended to write prompts using markdown formatting.


            See [`ai.prompt` in the SWML reference](/docs/swml/reference/calling/ai#aiprompt).'
          examples:
          - text: You are a helpful customer support assistant.
        SWAIG:
          type: object
          unevaluatedProperties: {}
          description: 'An array of JSON objects to create user-defined functions/endpoints that can be executed during the dialogue.


            See [`ai.SWAIG` in the SWML reference](/docs/swml/reference/calling/ai#aiswaig).'
          examples:
          - native_functions:
            - check_time
        agent_id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: Unique ID of an AI Agent.
          examples:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
        name:
          type: string
          description: Name of the AI Agent.
          examples:
          - My AI Agent
      unevaluatedProperties:
        not: {}
      description: 'Creates an AI agent that conducts voice conversations using automatic speech recognition (ASR),

        large language models (LLMs), and text-to-speech (TTS) synthesis.

        The agent processes caller speech in real-time, generates contextually appropriate responses,

        and can execute custom functions to interact with external systems through SignalWire AI Gateway (SWAIG).


        See the [SWML `ai` method reference](/docs/swml/reference/calling/ai) for the complete configuration contract.'
      title: AI Agent
    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.
    Types.StatusCodes.StatusCode500:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          enum:
          - Internal Server Error
      unevaluatedProperties:
        not: {}
      description: An internal server error occurred.
    AIAgentCreateRequest:
      type: object
      required:
      - prompt
      - name
      properties:
        hints:
          type: array
          items:
            type: string
          description: 'Hints help the AI agent understand certain words or phrases better. Words that can commonly be misinterpreted can be added to the hints to help the AI speak more accurately.


            See [`ai.hints` in the SWML reference](/docs/swml/reference/calling/ai#aihints).'
          examples:
          - - pizza
            - pepperoni
        languages:
          type: array
          items:
            type: object
            unevaluatedProperties: {}
          description: 'An array of JSON objects defining supported languages in the conversation.

            Mutually exclusive with `multilingual`: if both are set, `multilingual` is used and

            this array is ignored.


            See [`ai.languages` in the SWML reference](/docs/swml/reference/calling/ai#ailanguages).'
          examples:
          - - name: English
              code: en-US
              voice: rime.spore
        params:
          type: object
          unevaluatedProperties: {}
          description: 'A JSON object containing parameters as key-value pairs.


            See [`ai.params` in the SWML reference](/docs/swml/reference/calling/ai#aiparams).'
          examples:
          - ai_model: gpt-4o-mini
            wait_for_user: true
        post_prompt:
          type: object
          unevaluatedProperties: {}
          description: 'The final set of instructions and configuration settings to send to the agent.


            See [`ai.post_prompt` in the SWML reference](/docs/swml/reference/calling/ai#aipost_prompt).'
          examples:
          - text: Summarize the conversation and provide any follow-up action items.
        pronounce:
          type: array
          items:
            type: object
            unevaluatedProperties: {}
          description: 'An array of JSON objects to clarify the AI''s pronunciation of words or expressions.


            See [`ai.pronounce` in the SWML reference](/docs/swml/reference/calling/ai#aipronounce).'
          examples:
          - - replace: SWML
              with: swim-el
              ignore_case: true
        prompt:
          type: object
          unevaluatedProperties: {}
          description: 'Defines the AI agent''s personality, goals, behaviors, and instructions for handling conversations.

            The prompt establishes how the agent should interact with callers, what information it should gather,

            and how it should respond to various scenarios. It is recommended to write prompts using markdown formatting.


            See [`ai.prompt` in the SWML reference](/docs/swml/reference/calling/ai#aiprompt).'
          examples:
          - text: You are a helpful customer support assistant.
        SWAIG:
          type: object
          unevaluatedProperties: {}
          description: 'An array of JSON objects to create user-defined functions/endpoints that can be executed during the dialogue.


            See [`ai.SWAIG` in the SWML reference](/docs/swml/reference/calling/ai#aiswaig).'
          examples:
          - native_functions:
            - check_time
        name:
          type: string
          description: Name of the AI Agent.
          examples:
          - My AI Agent
      unevaluatedProperties:
        not: {}
    MessagingChannel:
      type: object
      required:
      - messaging
      properties:
        messaging:
          type: string
          description: Messaging Channel of Fabric Address
          examples:
          - /external/resource_name?channel=messaging
      unevaluatedProperties:
        not: {}
    AIAddressPaginationResponse:
      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/ai_agents/a87db7ed-8ebe-42e4-829f-8ba5a4152f54/addresses?page_number=0&page_size=50&type=ai_agent
        first:
          type: string
          format: uri
          description: Link to the first page
          examples:
          - https://example.signalwire.com/api/fabric/resources/ai_agents/a87db7ed-8ebe-42e4-829f-8ba5a4152f54/addresses?page_number=0&page_size=50&type=ai_agent
        next:
          type: string
          format: uri
          description: Link to the next page
          examples:
          - https://example.signalwire.com/api/fabric/resources/ai_agents/a87db7ed-8ebe-42e4-829f-8ba5a4152f54/addresses?page_number=1&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=ai_agent
        prev:
          type: string
          format: uri
          description: Link to the previous page
          examples:
          - https://example.signalwire.com/api/fabric/resources/ai_agents/a87db7ed-8ebe-42e4-829f-8ba5a4152f54/addresses?page_number=0&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=ai_agent
      unevaluatedProperties:
        not: {}
    Types.StatusCodes.RestApiErrorItem:
      type: object
      required:
      - type
      - code
      - message
      - url
      properties:
        type:
          type: string
          description: The category of error.
          examples:
          - validation_error
        code:
          type: string
          description: A specific error code.
          examples:
          - invalid_parameter
        message:
          type: string
          description: A description of what caused the error.
          examples:
          - Name must be present
        attribute:
          anyOf:
          - type: string
          - type: 'null'
          description: The request parameter that caused the error, if applicable.
          examples:
          - name
        url:
          type: string
          description: A link to documentation about this error.
          examples:
          - https://signalwire.com/docs/apis/error-codes
      unevaluatedProperties:
        not: {}
      description: Details about a specific error.
    FabricAddressApp:
      type: object
      required:
      - id
      - name
      - display_name
      - cover_url
      - preview_url
      - locked
      - channels
      - created_at
      - type
      properties:
        id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: Unique ID of the Fabric Address.
          examples:
          - 691af061-cd86-4893-a605-173f47afc4c2
        name:
          type: string
          description: Name of the Fabric Address.
          examples:
          - justice-league
        display_name:
          type: string
          description: Display name of the Fabric Address.
          examples:
          - Justice League
        cover_url:
          type: string
          description: Cover url of the Fabric Address.
          examples:
          - https://coverurl.com
        preview_url:
          type: string
          description: Preview url of the Fabric Address.
          examples:
          - https://previewurl.com
        locked:
          type: boolean
          description: Locks the Fabric Address. This is used to prevent the Fabric Address from accepting calls.
          examples:
          - true
        channels:
          allOf:
          - $ref: '#/components/schemas/AddressChannel'
          description: Channels of the Fabric Address.
        created_at:
          type: string
          format: date-time
          description: Fabric Address Creation Date.
          examples:
          - '2024-05-06T12:20:00Z'
        type:
          type: string
          enum:
          - app
          description: The display type of a fabric address pointing to an application.
          examples:
          - app
      unevaluatedProperties:
        not: {}
      title: Application Address
    AIAgentUpdateRequest:
      type: object
      properties:
        hints:
          type: array
          items:
            type: string
          description: 'Hints help the AI agent understand certain words or phrases better. Words that can commonly be misinterpreted can be added to the hints to help the AI speak more accurately.


            See [`ai.hints` in the SWML reference](/docs/swml/reference/calling/ai#aihints).'
          examples:
          - - pizza
            - pepperoni
        languages:
          type: array
          items:
            type: object
            unevaluatedProperties: {}
          description: 'An array of JSON objects defining supported languages in the conversation.

            Mutually exclusive with `multilingual`: if both are set, `multilingual` is used and

            this array is ignored.


            See [`ai.languages` in the SWML reference](/docs/swml/reference/calling/ai#ailanguages).'
          examples:
          - - name: English
              code: en-US
              voice: rime.spore
        params:
       

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/signalwire/refs/heads/main/openapi/signalwire-ai-agents-custom-api-openapi.yml