{
  "security": [
    {
      "accountSid_authToken": []
    }
  ],
  "components": {
    "securitySchemes": {
      "accountSid_authToken": {
        "scheme": "basic",
        "type": "http"
      }
    },
    "schemas": {
      "assistants.v1.service.assistant_send_message_request": {
        "type": "object",
        "properties": {
          "identity": {
            "type": "string",
            "description": "The unique identity of user for the session."
          },
          "session_id": {
            "type": "string",
            "description": "The unique name for the session."
          },
          "body": {
            "type": "string",
            "description": "The query to ask the assistant."
          },
          "webhook": {
            "type": "string",
            "description": "The webhook url to call after the assistant has generated a response or report an error."
          },
          "mode": {
            "type": "string",
            "default": "chat",
            "description": "one of the modes 'chat', 'email' or 'voice'"
          }
        },
        "required": [
          "identity",
          "body"
        ]
      },
      "assistants.v1.service.assistant_send_message_response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "success or failure based on whether the request successfully generated a response."
          },
          "flagged": {
            "type": "boolean",
            "description": "If successful, this property will denote whether the response was flagged or not."
          },
          "aborted": {
            "type": "boolean",
            "description": "This property will denote whether the request was aborted or not."
          },
          "session_id": {
            "type": "string",
            "description": "The unique name for the session."
          },
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that sent the Message."
          },
          "body": {
            "type": "string",
            "description": "If successful, the body of the generated response"
          },
          "error": {
            "type": "string",
            "description": "The error message if generation was not successful"
          }
        },
        "required": [
          "status",
          "session_id",
          "account_sid"
        ]
      },
      "assistants.v1.service.assistant": {
        "type": "object",
        "properties": {
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Assistant resource."
          },
          "customer_ai": {
            "type": "object",
            "description": "The Personalization and Perception Engine settings."
          },
          "id": {
            "type": "string",
            "pattern": "^aia_asst_.+$",
            "description": "The Assistant ID."
          },
          "model": {
            "type": "string",
            "description": "The default model used by the assistant."
          },
          "name": {
            "type": "string",
            "description": "The name of the assistant."
          },
          "owner": {
            "type": "string",
            "description": "The owner/company of the assistant."
          },
          "url": {
            "type": "string",
            "description": "The url of the assistant resource."
          },
          "personality_prompt": {
            "type": "string",
            "description": "The personality prompt to be used for assistant."
          },
          "date_created": {
            "description": "The date and time in GMT when the Assistant was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Assistant was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "account_sid",
          "name",
          "owner",
          "model",
          "personality_prompt",
          "customer_ai",
          "id",
          "date_updated",
          "date_created"
        ]
      },
      "assistants.v1.service.knowledge": {
        "type": "object",
        "properties": {
          "description": {
            "description": "The type of knowledge source.",
            "type": "string"
          },
          "id": {
            "type": "string",
            "pattern": "^aia_know_.+$",
            "description": "The description of knowledge."
          },
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Knowledge resource."
          },
          "knowledge_source_details": {
            "description": "The details of the knowledge source based on the type.",
            "type": "object"
          },
          "name": {
            "description": "The name of the knowledge source.",
            "type": "string"
          },
          "status": {
            "description": "The status of processing the knowledge source ('QUEUED', 'PROCESSING', 'COMPLETED', 'FAILED')",
            "type": "string"
          },
          "type": {
            "description": "The type of knowledge source ('Web', 'Database', 'Text', 'File')",
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "The url of the knowledge resource."
          },
          "embedding_model": {
            "description": "The embedding model to be used for the knowledge source.",
            "type": "string"
          },
          "date_created": {
            "description": "The date and time in GMT when the Knowledge was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Knowledge was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "date_created",
          "date_updated"
        ]
      },
      "assistants.v1.service.tool": {
        "type": "object",
        "properties": {
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Tool resource."
          },
          "description": {
            "description": "The description of the tool.",
            "type": "string"
          },
          "enabled": {
            "description": "True if the tool is enabled.",
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "pattern": "^aia_tool_.+$",
            "description": "The tool ID."
          },
          "meta": {
            "description": "The metadata related to method, url, input_schema to used with the Tool.",
            "type": "object"
          },
          "name": {
            "description": "The name of the tool.",
            "type": "string"
          },
          "requires_auth": {
            "description": "The authentication requirement for the tool.",
            "type": "boolean"
          },
          "type": {
            "description": "The type of the tool. ('WEBHOOK')",
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "The url of the tool resource."
          },
          "date_created": {
            "description": "The date and time in GMT when the Tool was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Tool was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "name",
          "description",
          "type",
          "requires_auth",
          "enabled",
          "meta",
          "id",
          "date_updated",
          "date_created"
        ]
      },
      "assistants.v1.service.assistant_with_tools_and_knowledge": {
        "allOf": [
          {
            "$ref": "#/components/schemas/assistants.v1.service.assistant"
          },
          {
            "type": "object",
            "required": [
              "knowledge",
              "tools"
            ],
            "properties": {
              "knowledge": {
                "description": "The list of knowledge sources associated with the assistant.",
                "items": {
                  "$ref": "#/components/schemas/assistants.v1.service.knowledge"
                },
                "type": "array"
              },
              "tools": {
                "description": "The list of tools associated with the assistant.",
                "items": {
                  "$ref": "#/components/schemas/assistants.v1.service.tool"
                },
                "type": "array"
              }
            }
          }
        ]
      },
      "assistants.v1.service.knowledge_status": {
        "type": "object",
        "properties": {
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Knowledge resource."
          },
          "status": {
            "description": "The status of processing the knowledge source ('QUEUED', 'PROCESSING', 'COMPLETED', 'FAILED')",
            "type": "string"
          },
          "last_status": {
            "description": "The last status of processing the knowledge source ('QUEUED', 'PROCESSING', 'COMPLETED', 'FAILED')",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Knowledge was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "assistants.v1.service.tool_with_policies": {
        "allOf": [
          {
            "$ref": "#/components/schemas/assistants.v1.service.tool"
          },
          {
            "type": "object",
            "properties": {
              "policies": {
                "description": "The Policies associated with the tool.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/assistants.v1.service.policy"
                }
              }
            }
          }
        ]
      },
      "assistants.v1.service.create_assistant_request": {
        "type": "object",
        "properties": {
          "customer_ai": {
            "description": "The Personalization and Perception Engine settings.",
            "$ref": "#/components/schemas/assistants.v1.service.customer_ai"
          },
          "name": {
            "description": "The name of the assistant.",
            "type": "string"
          },
          "owner": {
            "description": "The owner/company of the assistant.",
            "type": "string"
          },
          "personality_prompt": {
            "description": "The personality prompt to be used for assistant.",
            "type": "string"
          },
          "segment_credential": {
            "description": "The Segment Credentials to be used for the assistant.",
            "$ref": "#/components/schemas/assistants.v1.service.segment_credential"
          }
        },
        "required": [
          "name"
        ]
      },
      "assistants.v1.service.customer_ai": {
        "type": "object",
        "properties": {
          "perception_engine_enabled": {
            "description": "True if the perception engine is enabled.",
            "type": "boolean"
          },
          "personalization_engine_enabled": {
            "description": "True if the personalization engine is enabled.",
            "type": "boolean"
          }
        },
        "required": [
          "personalization_engine_enabled",
          "perception_engine_enabled"
        ]
      },
      "assistants.v1.service.segment_credential": {
        "type": "object",
        "properties": {
          "profile_api_key": {
            "description": "The profile API key.",
            "type": "string"
          },
          "space_id": {
            "description": "The space ID.",
            "type": "string"
          },
          "write_key": {
            "description": "The write key.",
            "type": "string"
          }
        }
      },
      "assistants.v1.service.update_assistant_request": {
        "type": "object",
        "properties": {
          "customer_ai": {
            "description": "The Personalization and Perception Engine settings.",
            "$ref": "#/components/schemas/assistants.v1.service.customer_ai"
          },
          "name": {
            "description": "The name of the assistant.",
            "type": "string"
          },
          "owner": {
            "description": "The owner/company of the assistant.",
            "type": "string"
          },
          "personality_prompt": {
            "description": "The personality prompt to be used for assistant.",
            "type": "string"
          },
          "segment_credential": {
            "description": "The Segment Credentials to be used for the assistant.",
            "$ref": "#/components/schemas/assistants.v1.service.segment_credential"
          }
        }
      },
      "assistants.v1.service.policy": {
        "type": "object",
        "required": [
          "type",
          "policy_details"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^aia_plcy_.+$",
            "description": "The Policy ID."
          },
          "name": {
            "description": "The name of the policy.",
            "type": "string"
          },
          "description": {
            "description": "The description of the policy.",
            "type": "string"
          },
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Policy resource."
          },
          "user_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^US[0-9a-fA-F]{32}$",
            "description": "The SID of the User that created the Policy resource."
          },
          "type": {
            "description": "The type of the policy.",
            "type": "string"
          },
          "policy_details": {
            "description": "The details of the policy based on the type.",
            "type": "object"
          },
          "date_created": {
            "description": "The date and time in GMT when the Policy was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Policy was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "assistants.v1.service.feedback": {
        "type": "object",
        "properties": {
          "assistant_id": {
            "description": "The Assistant ID.",
            "type": "string"
          },
          "id": {
            "type": "string",
            "pattern": "^aia_fdbk_.+$",
            "description": "The Feedback ID."
          },
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Feedback."
          },
          "user_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^US[0-9a-fA-F]{32}$",
            "description": "The SID of the User created the Feedback."
          },
          "message_id": {
            "description": "The Message ID.",
            "type": "string"
          },
          "score": {
            "description": "The Score to provide as Feedback (0-1)",
            "type": "number",
            "format": "float",
            "minimum": 0,
            "maximum": 1
          },
          "session_id": {
            "description": "The Session ID.",
            "type": "string"
          },
          "text": {
            "description": "The text to be given as feedback.",
            "type": "string"
          },
          "date_created": {
            "description": "The date and time in GMT when the Feedback was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Feedback was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "assistant_id",
          "session_id",
          "message_id",
          "text",
          "score",
          "date_updated",
          "date_created"
        ]
      },
      "assistants.v1.service.create_feedback_request": {
        "type": "object",
        "properties": {
          "message_id": {
            "type": "string",
            "pattern": "^aia_msg_.+$",
            "description": "The message ID."
          },
          "score": {
            "description": "The score to be given(0-1).",
            "type": "number",
            "format": "float",
            "minimum": 0,
            "maximum": 1
          },
          "session_id": {
            "type": "string",
            "description": "The Session ID."
          },
          "text": {
            "description": "The text to be given as feedback.",
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ]
      },
      "assistants.v1.service.create_tool_request": {
        "type": "object",
        "properties": {
          "assistant_id": {
            "type": "string",
            "pattern": "^aia_asst_.+$",
            "description": "The Assistant ID."
          },
          "description": {
            "description": "The description of the tool.",
            "type": "string"
          },
          "enabled": {
            "description": "True if the tool is enabled.",
            "type": "boolean"
          },
          "meta": {
            "description": "The metadata related to method, url, input_schema to used with the Tool.",
            "type": "object"
          },
          "name": {
            "description": "The name of the tool.",
            "type": "string"
          },
          "policy": {
            "description": "The policy associated with the tool.",
            "$ref": "#/components/schemas/assistants.v1.service.create_policy_request"
          },
          "type": {
            "description": "The description of the tool.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "enabled"
        ]
      },
      "assistants.v1.service.create_policy_request": {
        "type": "object",
        "properties": {
          "description": {
            "description": "The description of the policy.",
            "type": "string"
          },
          "id": {
            "type": "string",
            "pattern": "^aia_plcy_.+$",
            "description": "The Policy ID."
          },
          "name": {
            "description": "The name of the policy.",
            "type": "string"
          },
          "policy_details": {},
          "type": {
            "description": "The description of the policy.",
            "type": "string"
          }
        },
        "required": [
          "policy_details"
        ]
      },
      "assistants.v1.service.update_tool_request": {
        "type": "object",
        "properties": {
          "assistant_id": {
            "type": "string",
            "pattern": "^aia_asst_.+$",
            "description": "The Assistant ID."
          },
          "description": {
            "description": "The description of the tool.",
            "type": "string"
          },
          "enabled": {
            "description": "True if the tool is enabled.",
            "type": "boolean"
          },
          "meta": {
            "description": "The metadata related to method, url, input_schema to used with the Tool.",
            "type": "object"
          },
          "name": {
            "description": "The name of the tool.",
            "type": "string"
          },
          "policy": {
            "description": "The policy associated with the tool.",
            "$ref": "#/components/schemas/assistants.v1.service.create_policy_request"
          },
          "type": {
            "description": "The type of the tool.",
            "type": "string"
          }
        }
      },
      "assistants.v1.service.create_knowledge_request": {
        "type": "object",
        "properties": {
          "assistant_id": {
            "type": "string",
            "pattern": "^aia_asst_.+$",
            "description": "The Assistant ID."
          },
          "description": {
            "description": "The description of the knowledge source.",
            "type": "string"
          },
          "knowledge_source_details": {
            "description": "The details of the knowledge source based on the type.",
            "type": "object"
          },
          "name": {
            "description": "The name of the tool.",
            "type": "string"
          },
          "policy": {
            "description": "The policy associated with the knowledge source.",
            "$ref": "#/components/schemas/assistants.v1.service.create_policy_request"
          },
          "type": {
            "description": "The type of the knowledge source.",
            "type": "string"
          },
          "embedding_model": {
            "description": "The embedding model to be used for the knowledge source. It's required for 'Database' type but disallowed for other types.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "assistants.v1.service.update_knowledge_request": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "description": {
            "description": "The description of the knowledge source.",
            "type": "string"
          },
          "knowledge_source_details": {
            "description": "The details of the knowledge source based on the type.",
            "type": "object"
          },
          "name": {
            "description": "The name of the knowledge source.",
            "type": "string"
          },
          "policy": {
            "description": "The policy associated with the knowledge source.",
            "$ref": "#/components/schemas/assistants.v1.service.create_policy_request"
          },
          "type": {
            "description": "The description of the knowledge source.",
            "type": "string"
          },
          "embedding_model": {
            "description": "The embedding model to be used for the knowledge source. It's only applicable to 'Database' type.",
            "type": "string"
          }
        }
      },
      "assistants.v1.service.knowledge_chunk": {
        "type": "object",
        "properties": {
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Knowledge resource."
          },
          "content": {
            "description": "The chunk content.",
            "type": "string"
          },
          "metadata": {
            "description": "The metadata of the chunk.",
            "type": "object"
          },
          "date_created": {
            "description": "The date and time in GMT when the Chunk was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Chunk was updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "assistants.v1.service.knowledge_chunk_with_score": {
        "allOf": [
          {
            "$ref": "#/components/schemas/assistants.v1.service.knowledge_chunk"
          },
          {
            "type": "object",
            "properties": {
              "score": {
                "description": "The score associated with the chunk.",
                "type": "number",
                "format": "float"
              },
              "knowledge_id": {
                "description": "The knowledge ID associated with the chunk.",
                "type": "string"
              }
            }
          }
        ]
      },
      "assistants.v1.service.session": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The Session ID."
          },
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Session resource."
          },
          "assistant_id": {
            "type": "string",
            "pattern": "^aia_asst_.+$",
            "description": "The Assistant ID."
          },
          "verified": {
            "description": "True if the session is verified.",
            "type": "boolean"
          },
          "identity": {
            "description": "The unique identity of user for the session.",
            "type": "string"
          },
          "date_created": {
            "description": "The date and time in GMT when the Session was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Session was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "assistants.v1.service.message": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^aia_msg_.+$",
            "description": "The message ID."
          },
          "account_sid": {
            "type": "string",
            "minLength": 34,
            "maxLength": 34,
            "pattern": "^AC[0-9a-fA-F]{32}$",
            "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resource."
          },
          "assistant_id": {
            "type": "string",
            "pattern": "^aia_asst_.+$",
            "description": "The Assistant ID."
          },
          "session_id": {
            "description": "The Session ID.",
            "type": "string"
          },
          "identity": {
            "description": "The identity of the user.",
            "type": "string"
          },
          "role": {
            "description": "The role of the user associated with the message.",
            "type": "string"
          },
          "content": {
            "description": "The content of the message.",
            "type": "object"
          },
          "meta": {
            "description": "The metadata of the message.",
            "type": "object"
          },
          "date_created": {
            "description": "The date and time in GMT when the Message was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time in GMT when the Message was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
            "format": "date-time",
            "type": "string"
          }
        }
      }
    }
  },
  "openapi": "3.0.2",
  "info": {
    "title": "Twilio - Assistants",
    "description": "This is the public Twilio REST API.",
    "termsOfService": "https://www.twilio.com/legal/tos",
    "contact": {
      "name": "Twilio Support",
      "url": "https://support.twilio.com",
      "email": "support@twilio.com"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "1.0.0",
    "x-twilio": {
      "apiStandards": "v0.1"
    }
  },
  "servers": [
    {
      "url": "https://assistants.twilio.com"
    }
  ],
  "paths": {
    "/v1/Assistants/{id}/Messages": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Assistants/{id}",
        "pathType": "list"
      },
      "post": {
        "description": "send a message",
        "summary": "Send a message to the assistant",
        "operationId": "CreateMessage",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.assistant_send_message_request"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "the Assistant ID.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.assistant_send_message_response"
                }
              }
            },
            "description": "OK"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.assistant_send_message_response"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Assistants": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "dependentProperties": {
          "messages": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Messages"
          },
          "feedbacks": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Feedbacks"
          },
          "knowledge": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Knowledge"
          },
          "tools": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Tools"
          }
        },
        "pathType": "list"
      },
      "get": {
        "description": "list assistants",
        "operationId": "ListAssistants",
        "summary": "List all assistants",
        "parameters": [
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "assistants": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.assistant"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListAssistantResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "post": {
        "description": "create an assistant",
        "operationId": "CreateAssistant",
        "summary": "Create a new assistant",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.create_assistant_request"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.assistant"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Assistants/{id}": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "dependentProperties": {
          "messages": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Messages"
          },
          "feedbacks": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Feedbacks"
          },
          "knowledge": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Knowledge"
          },
          "tools": {
            "mapping": {
              "id": "id"
            },
            "resource_url": "/v1/Assistants/{id}/Tools"
          }
        },
        "pathType": "instance"
      },
      "get": {
        "description": "get an assistant",
        "operationId": "FetchAssistant",
        "summary": "Get an assistant by ID",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.assistant_with_tools_and_knowledge"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "delete": {
        "description": "delete an assistant",
        "operationId": "DeleteAssistant",
        "summary": "Delete an assistant by ID",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "put": {
        "operationId": "UpdateAssistant",
        "description": "update an assistant",
        "summary": "Update an assistant by ID",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.update_assistant_request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.assistant"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Knowledge": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "get": {
        "operationId": "ListKnowledge",
        "summary": "List all knowledge",
        "description": "List all knowledge",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "AssistantId",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "knowledge": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.knowledge"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListKnowledgeResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "post": {
        "operationId": "CreateKnowledge",
        "summary": "Create knowledge",
        "description": "Create knowledge",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.create_knowledge_request"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.knowledge"
                }
              }
            },
            "description": "Created"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Knowledge/{id}": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "delete": {
        "operationId": "DeleteKnowledge",
        "summary": "Delete knowledge",
        "description": "Delete knowledge",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "the Knowledge ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "get": {
        "operationId": "FetchKnowledge",
        "summary": "Get knowledge",
        "description": "Get knowledge",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.knowledge"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "put": {
        "operationId": "UpdateKnowledge",
        "summary": "Update knowledge",
        "description": "Update knowledge",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.update_knowledge_request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.knowledge"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Knowledge/{id}/Status": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Knowledge/{id}",
        "mountName": "knowledge_status",
        "pathType": "instance"
      },
      "get": {
        "operationId": "FetchKnowledgeStatus",
        "summary": "Get knowledge status",
        "description": "Get knowledge status",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "the Knowledge ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.knowledge_status"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Knowledge/{id}/Chunks": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Knowledge/{id}",
        "pathType": "list"
      },
      "get": {
        "operationId": "ListKnowledgeChunks",
        "summary": "List knowledge chunks",
        "description": "List knowledge chunks",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The knowledge ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chunks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.knowledge_chunk"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListKnowledgeChunksResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Assistants/{id}/Feedbacks": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Assistants/{id}",
        "pathType": "list"
      },
      "get": {
        "operationId": "ListFeedback",
        "summary": "List feedbacks",
        "description": "List feedbacks",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "feedbacks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.feedback"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListFeedbacksResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "post": {
        "operationId": "CreateFeedback",
        "summary": "Create feedback",
        "description": "Create feedback",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.create_feedback_request"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.feedback"
                }
              }
            },
            "description": "Created"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Assistants/{assistantId}/Knowledge": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Assistants/{id}",
        "mountName": "assistants_knowledge",
        "pathType": "list"
      },
      "get": {
        "operationId": "ListKnowledgeByAssistant",
        "summary": "List all knowledge for an Assistant",
        "description": "List all knowledge for an Assistant",
        "parameters": [
          {
            "in": "path",
            "name": "assistantId",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "knowledge": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.knowledge"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListKnowledgeByAssistantResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Assistants/{assistantId}/Knowledge/{id}": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Assistants/{id}",
        "mountName": "assistants_knowledge",
        "pathType": "instance"
      },
      "post": {
        "operationId": "CreateAssistantKnowledgeAttachment",
        "summary": "Attach Knowledge to Assistant",
        "description": "Attach Knowledge to Assistant",
        "parameters": [
          {
            "in": "path",
            "name": "assistantId",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "description": "The knowledge ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "delete": {
        "operationId": "DeleteAssistantKnowledgeAttachment",
        "summary": "Detach Knowledge to Assistant",
        "description": "Detach Knowledge to Assistant",
        "parameters": [
          {
            "in": "path",
            "name": "assistantId",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "description": "The knowledge ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Assistants/{assistantId}/Tools": {
      "x-twilio": {
        "parent": "/Assistants/{id}",
        "mountName": "assistants_tools",
        "pathType": "list"
      },
      "get": {
        "operationId": "ListToolsByAssistant",
        "summary": "List tools for an Assistant",
        "description": "List tools for an Assistant",
        "parameters": [
          {
            "in": "path",
            "name": "assistantId",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tools": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.tool"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListToolsByAssistantResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Assistants/{assistantId}/Tools/{id}": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Assistants/{id}",
        "mountName": "assistants_tools",
        "pathType": "instance"
      },
      "post": {
        "operationId": "CreateAssistantToolAttachment",
        "summary": "Attach Tool to Assistant",
        "description": "Attach Tool to Assistant",
        "parameters": [
          {
            "in": "path",
            "name": "assistantId",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "description": "The tool ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "delete": {
        "operationId": "DeleteAssistantToolAttachment",
        "summary": "Detach Tool to Assistant",
        "description": "Detach Tool to Assistant",
        "parameters": [
          {
            "in": "path",
            "name": "assistantId",
            "description": "The assistant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "description": "The tool ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Tools": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "get": {
        "operationId": "ListTools",
        "summary": "List tools",
        "description": "List tools",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "AssistantId",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tools": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.tool"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListToolsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "post": {
        "operationId": "CreateTool",
        "summary": "Create tool",
        "description": "Create tool",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.create_tool_request"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.tool"
                }
              }
            },
            "description": "Created"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Tools/{id}": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "delete": {
        "operationId": "DeleteTool",
        "description": "delete a tool",
        "summary": "Delete tool",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The tool ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "get": {
        "operationId": "FetchTool",
        "summary": "Get tool",
        "description": "Get tool",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.tool_with_policies"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      },
      "put": {
        "operationId": "UpdateTool",
        "summary": "Update tool",
        "description": "Update tool",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assistants.v1.service.update_tool_request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.tool"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Policies": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "get": {
        "operationId": "ListPolicies",
        "description": "List policies",
        "summary": "List policies",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "ToolId",
            "description": "The tool ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "KnowledgeId",
            "description": "The knowledge ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "policies": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.policy"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListPoliciesResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Sessions": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "get": {
        "operationId": "ListSessions",
        "description": "List sessions",
        "summary": "List sessions",
        "parameters": [
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sessions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.session"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListSessionsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Sessions/{id}": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "get": {
        "description": "get a session",
        "operationId": "FetchSession",
        "summary": "Get a session by ID",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assistants.v1.service.session"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    },
    "/v1/Sessions/{sessionId}/Messages": {
      "servers": [
        {
          "url": "https://assistants.twilio.com"
        }
      ],
      "x-twilio": {
        "parent": "/Sessions/{id}",
        "pathType": "list"
      },
      "get": {
        "operationId": "ListMessages",
        "description": "List messages",
        "summary": "List messages",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "description": "Session id or name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page index. This value is simply for client state.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "description": "The page token. This is provided by the API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/assistants.v1.service.message"
                      }
                    },
                    "meta": {
                      "properties": {
                        "first_page_url": {
                          "format": "uri",
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "next_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "page_size": {
                          "type": "integer"
                        },
                        "previous_page_url": {
                          "format": "uri",
                          "nullable": true,
                          "type": "string"
                        },
                        "url": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "title": "ListMessagesResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accountSid_authToken": []
          }
        ]
      }
    }
  }
}