Twilio - Proxy
This is the public Twilio REST API
COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.1",
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"info": {
"contact": {
"email": "support@twilio.com",
"name": "Twilio Support",
"url": "https://support.twilio.com"
},
"description": "This is the public Twilio REST API.",
"license": {
"name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
},
"termsOfService": "https://www.twilio.com/legal/tos",
"title": "Twilio - Proxy",
"version": "1.42.0",
"x-apisguru-categories": [
"telecom",
"messaging"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_static1.twilio.com_marketing_bundles_marketing_img_logos_wordmark-red.svg"
},
"x-origin": [
{
"format": "openapi",
"url": "https://raw.githubusercontent.com/twilio/twilio-oai/main/spec/json/twilio_proxy_v1.json",
"version": "3.0"
}
],
"x-providerName": "twilio.com",
"x-serviceName": "twilio_proxy_v1"
},
"paths": {
"/v1/Services": {
"description": "TODO: Resource-level docs",
"get": {
"description": "Retrieve a list of all Services for Twilio Proxy. A maximum of 100 records will be returned per page.",
"operationId": "ListService",
"parameters": [
{
"description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
"in": "query",
"name": "PageSize",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"description": "The page index. This value is simply for client state.",
"in": "query",
"name": "Page",
"schema": {
"minimum": 0,
"type": "integer"
}
},
{
"description": "The page token. This is provided by the API.",
"in": "query",
"name": "PageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"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"
},
"services": {
"items": {
"$ref": "#/components/schemas/proxy.v1.service"
},
"type": "array"
}
},
"title": "ListServiceResponse",
"type": "object"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Create a new Service for Twilio Proxy",
"operationId": "CreateService",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"CallbackUrl": {
"description": "The URL we should call when the interaction status changes.",
"format": "uri",
"type": "string"
},
"ChatInstanceSid": {
"description": "The SID of the Chat Service Instance managed by Proxy Service. The Chat Service enables Proxy to forward SMS and channel messages to this chat instance. This is a one-to-one relationship.",
"maxLength": 34,
"minLength": 34,
"pattern": "^IS[0-9a-fA-F]{32}$",
"type": "string"
},
"DefaultTtl": {
"description": "The default `ttl` value to set for Sessions created in the Service. The TTL (time to live) is measured in seconds after the Session's last create or last Interaction. The default value of `0` indicates an unlimited Session length. You can override a Session's default TTL value by setting its `ttl` value.",
"type": "integer"
},
"GeoMatchLevel": {
"$ref": "#/components/schemas/service_enum_geo_match_level",
"description": "Where a proxy number must be located relative to the participant identifier. Can be: `country`, `area-code`, or `extended-area-code`. The default value is `country` and more specific areas than `country` are only available in North America.",
"type": "string"
},
"InterceptCallbackUrl": {
"description": "The URL we call on each interaction. If we receive a 403 status, we block the interaction; otherwise the interaction continues.",
"format": "uri",
"type": "string"
},
"NumberSelectionBehavior": {
"$ref": "#/components/schemas/service_enum_number_selection_behavior",
"description": "The preference for Proxy Number selection in the Service instance. Can be: `prefer-sticky` or `avoid-sticky` and the default is `prefer-sticky`. `prefer-sticky` means that we will try and select the same Proxy Number for a given participant if they have previous [Sessions](https://www.twilio.com/docs/proxy/api/session), but we will not fail if that Proxy Number cannot be used. `avoid-sticky` means that we will try to use different Proxy Numbers as long as that is possible within a given pool rather than try and use a previously assigned number.",
"type": "string"
},
"OutOfSessionCallbackUrl": {
"description": "The URL we should call when an inbound call or SMS action occurs on a closed or non-existent Session. If your server (or a Twilio [function](https://www.twilio.com/functions)) responds with valid [TwiML](https://www.twilio.com/docs/voice/twiml), we will process it. This means it is possible, for example, to play a message for a call, send an automated text message response, or redirect a call to another Phone Number. See [Out-of-Session Callback Response Guide](https://www.twilio.com/docs/proxy/out-session-callback-response-guide) for more information.",
"format": "uri",
"type": "string"
},
"UniqueName": {
"description": "An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. **This value should not have PII.**",
"type": "string"
}
},
"required": [
"UniqueName"
],
"title": "CreateServiceRequest",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service"
}
}
},
"description": "Created"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"unique_name",
"date_created"
],
"pathType": "list"
}
},
"/v1/Services/{ServiceSid}/PhoneNumbers": {
"description": "TODO: Resource-level docs",
"get": {
"description": "Retrieve a list of all Phone Numbers in the Proxy Number Pool for a Service. A maximum of 100 records will be returned per page.",
"operationId": "ListPhoneNumber",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resources to read.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
"in": "query",
"name": "PageSize",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"description": "The page index. This value is simply for client state.",
"in": "query",
"name": "Page",
"schema": {
"minimum": 0,
"type": "integer"
}
},
{
"description": "The page token. This is provided by the API.",
"in": "query",
"name": "PageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"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"
},
"phone_numbers": {
"items": {
"$ref": "#/components/schemas/proxy.v1.service.phone_number"
},
"type": "array"
}
},
"title": "ListPhoneNumberResponse",
"type": "object"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Add a Phone Number to a Service's Proxy Number Pool.",
"operationId": "CreatePhoneNumber",
"parameters": [
{
"description": "The SID parent [Service](https://www.twilio.com/docs/proxy/api/service) resource of the new PhoneNumber resource.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"IsReserved": {
"description": "Whether the new phone number should be reserved and not be assigned to a participant using proxy pool logic. See [Reserved Phone Numbers](https://www.twilio.com/docs/proxy/reserved-phone-numbers) for more information.",
"type": "boolean"
},
"PhoneNumber": {
"description": "The phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format. E.164 phone numbers consist of a + followed by the country code and subscriber number without punctuation characters. For example, +14155551234.",
"format": "phone-number",
"type": "string"
},
"Sid": {
"description": "The SID of a Twilio [IncomingPhoneNumber](https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource) resource that represents the Twilio Number you would like to assign to your Proxy Service.",
"maxLength": 34,
"minLength": 34,
"pattern": "^PN[0-9a-fA-F]{32}$",
"type": "string"
}
},
"title": "CreatePhoneNumberRequest",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.phone_number"
}
}
},
"description": "Created"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"friendly_name",
"phone_number"
],
"parent": "/Services/{Sid}",
"pathType": "list"
}
},
"/v1/Services/{ServiceSid}/PhoneNumbers/{Sid}": {
"delete": {
"description": "Delete a specific Phone Number from a Service.",
"operationId": "DeletePhoneNumber",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource to delete.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to delete.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^PN[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The resource was deleted successfully."
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"description": "TODO: Resource-level docs",
"get": {
"description": "Fetch a specific Phone Number.",
"operationId": "FetchPhoneNumber",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource to fetch.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to fetch.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^PN[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.phone_number"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Update a specific Proxy Number.",
"operationId": "UpdatePhoneNumber",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource to update.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the PhoneNumber resource to update.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^PN[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"IsReserved": {
"description": "Whether the phone number should be reserved and not be assigned to a participant using proxy pool logic. See [Reserved Phone Numbers](https://www.twilio.com/docs/proxy/reserved-phone-numbers) for more information.",
"type": "boolean"
}
},
"title": "UpdatePhoneNumberRequest",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.phone_number"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"friendly_name",
"phone_number"
],
"parent": "/Services/{Sid}",
"pathType": "instance"
}
},
"/v1/Services/{ServiceSid}/Sessions": {
"description": "TODO: Resource-level docs",
"get": {
"description": "Retrieve a list of all Sessions for the Service. A maximum of 100 records will be returned per page.",
"operationId": "ListSession",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to read.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
"in": "query",
"name": "PageSize",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"description": "The page index. This value is simply for client state.",
"in": "query",
"name": "Page",
"schema": {
"minimum": 0,
"type": "integer"
}
},
{
"description": "The page token. This is provided by the API.",
"in": "query",
"name": "PageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"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"
},
"sessions": {
"items": {
"$ref": "#/components/schemas/proxy.v1.service.session"
},
"type": "array"
}
},
"title": "ListSessionResponse",
"type": "object"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Create a new Session",
"operationId": "CreateSession",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"DateExpiry": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the `ttl` value.",
"format": "date-time",
"type": "string"
},
"Mode": {
"$ref": "#/components/schemas/session_enum_mode",
"description": "The Mode of the Session. Can be: `message-only`, `voice-only`, or `voice-and-message` and the default value is `voice-and-message`.",
"type": "string"
},
"Participants": {
"description": "The Participant objects to include in the new session.",
"items": {},
"type": "array"
},
"Status": {
"$ref": "#/components/schemas/session_enum_status",
"description": "The initial status of the Session. Can be: `open`, `in-progress`, `closed`, `failed`, or `unknown`. The default is `open` on create.",
"type": "string"
},
"Ttl": {
"description": "The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session's last Interaction.",
"type": "integer"
},
"UniqueName": {
"description": "An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. **This value should not have PII.**",
"type": "string"
}
},
"title": "CreateSessionRequest",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session"
}
}
},
"description": "Created"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"unique_name",
"date_started",
"date_ended"
],
"parent": "/Services/{Sid}",
"pathType": "list"
}
},
"/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions": {
"description": "TODO: Resource-level docs",
"get": {
"description": "Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page.",
"operationId": "ListInteraction",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources from.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) to read the resources from.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
"in": "query",
"name": "PageSize",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"description": "The page index. This value is simply for client state.",
"in": "query",
"name": "Page",
"schema": {
"minimum": 0,
"type": "integer"
}
},
{
"description": "The page token. This is provided by the API.",
"in": "query",
"name": "PageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"interactions": {
"items": {
"$ref": "#/components/schemas/proxy.v1.service.session.interaction"
},
"type": "array"
},
"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": "ListInteractionResponse",
"type": "object"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"type",
"data"
],
"parent": "/Services/{ServiceSid}/Sessions/{Sid}",
"pathType": "list"
}
},
"/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions/{Sid}": {
"delete": {
"description": "Delete a specific Interaction.",
"operationId": "DeleteInteraction",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to delete.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the Interaction resource to delete.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KI[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The resource was deleted successfully."
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"description": "TODO: Resource-level docs",
"get": {
"description": "Retrieve a list of Interactions for a given [Session](https://www.twilio.com/docs/proxy/api/session).",
"operationId": "FetchInteraction",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the Interaction resource to fetch.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KI[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session.interaction"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"type",
"data"
],
"parent": "/Services/{ServiceSid}/Sessions/{Sid}",
"pathType": "instance"
}
},
"/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants": {
"description": "TODO: Resource-level docs",
"get": {
"description": "Retrieve a list of all Participants in a Session.",
"operationId": "ListParticipant",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resources to read.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resources to read.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
"in": "query",
"name": "PageSize",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"description": "The page index. This value is simply for client state.",
"in": "query",
"name": "Page",
"schema": {
"minimum": 0,
"type": "integer"
}
},
{
"description": "The page token. This is provided by the API.",
"in": "query",
"name": "PageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"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"
},
"participants": {
"items": {
"$ref": "#/components/schemas/proxy.v1.service.session.participant"
},
"type": "array"
}
},
"title": "ListParticipantResponse",
"type": "object"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Add a new Participant to the Session",
"operationId": "CreateParticipant",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"FriendlyName": {
"description": "The string that you assigned to describe the participant. This value must be 255 characters or fewer. **This value should not have PII.**",
"type": "string"
},
"Identifier": {
"description": "The phone number of the Participant.",
"type": "string"
},
"ProxyIdentifier": {
"description": "The proxy phone number to use for the Participant. If not specified, Proxy will select a number from the pool.",
"type": "string"
},
"ProxyIdentifierSid": {
"description": "The SID of the Proxy Identifier to assign to the Participant.",
"maxLength": 34,
"minLength": 34,
"pattern": "^PN[0-9a-fA-F]{32}$",
"type": "string"
}
},
"required": [
"Identifier"
],
"title": "CreateParticipantRequest",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session.participant"
}
}
},
"description": "Created"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"friendly_name",
"identifier",
"proxy_identifier"
],
"parent": "/Services/{ServiceSid}/Sessions/{Sid}",
"pathType": "list"
}
},
"/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions": {
"description": "TODO: Resource-level docs",
"get": {
"description": "",
"operationId": "ListMessageInteraction",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources from.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) to read the resources from.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) to read the resources from.",
"in": "path",
"name": "ParticipantSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
"in": "query",
"name": "PageSize",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"description": "The page index. This value is simply for client state.",
"in": "query",
"name": "Page",
"schema": {
"minimum": 0,
"type": "integer"
}
},
{
"description": "The page token. This is provided by the API.",
"in": "query",
"name": "PageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"interactions": {
"items": {
"$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction"
},
"type": "array"
},
"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": "ListMessageInteractionResponse",
"type": "object"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Create a new message Interaction to send directly from your system to one [Participant](https://www.twilio.com/docs/proxy/api/participant). The `inbound` properties for the Interaction will always be empty.",
"operationId": "CreateMessageInteraction",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.",
"in": "path",
"name": "ParticipantSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"Body": {
"description": "The message to send to the participant",
"type": "string"
},
"MediaUrl": {
"description": "Reserved. Not currently supported.",
"items": {
"format": "uri",
"type": "string"
},
"type": "array"
}
},
"title": "CreateMessageInteractionRequest",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction"
}
}
},
"description": "Created"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
],
"x-twilio": {
"conditional": [
[
"body",
"media_url"
]
]
}
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"type",
"data"
],
"parent": "/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{Sid}",
"pathType": "list"
}
},
"/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions/{Sid}": {
"description": "TODO: Resource-level docs",
"get": {
"description": "",
"operationId": "FetchMessageInteraction",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.",
"in": "path",
"name": "ParticipantSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the MessageInteraction resource to fetch.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KI[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session.participant.message_interaction"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"type",
"data"
],
"parent": "/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{Sid}",
"pathType": "instance"
}
},
"/v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{Sid}": {
"delete": {
"description": "Delete a specific Participant. This is a soft-delete. The participant remains associated with the session and cannot be re-added. Participants are only permanently deleted when the [Session](https://www.twilio.com/docs/proxy/api/session) is deleted.",
"operationId": "DeleteParticipant",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to delete.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the Participant resource to delete.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The resource was deleted successfully."
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"description": "TODO: Resource-level docs",
"get": {
"description": "Fetch a specific Participant.",
"operationId": "FetchParticipant",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.",
"in": "path",
"name": "SessionSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the Participant resource to fetch.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session.participant"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"friendly_name",
"identifier",
"proxy_identifier"
],
"parent": "/Services/{ServiceSid}/Sessions/{Sid}",
"pathType": "instance"
}
},
"/v1/Services/{ServiceSid}/Sessions/{Sid}": {
"delete": {
"description": "Delete a specific Session.",
"operationId": "DeleteSession",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the Session resource to delete.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The resource was deleted successfully."
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"description": "TODO: Resource-level docs",
"get": {
"description": "Fetch a specific Session.",
"operationId": "FetchSession",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the Session resource to fetch.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Update a specific Session.",
"operationId": "UpdateSession",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to update.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the Session resource to update.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"DateExpiry": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the `ttl` value.",
"format": "date-time",
"type": "string"
},
"Status": {
"$ref": "#/components/schemas/session_enum_status",
"description": "The new status of the resource. Can be: `in-progress` to re-open a session or `closed` to close a session.",
"type": "string"
},
"Ttl": {
"description": "The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session's last Interaction.",
"type": "integer"
}
},
"title": "UpdateSessionRequest",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.session"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"unique_name",
"date_started",
"date_ended"
],
"parent": "/Services/{Sid}",
"pathType": "instance"
}
},
"/v1/Services/{ServiceSid}/ShortCodes": {
"description": "TODO: Resource-level docs",
"get": {
"description": "Retrieve a list of all Short Codes in the Proxy Number Pool for the Service. A maximum of 100 records will be returned per page.",
"operationId": "ListShortCode",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources from.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
"in": "query",
"name": "PageSize",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"description": "The page index. This value is simply for client state.",
"in": "query",
"name": "Page",
"schema": {
"minimum": 0,
"type": "integer"
}
},
{
"description": "The page token. This is provided by the API.",
"in": "query",
"name": "PageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"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"
},
"short_codes": {
"items": {
"$ref": "#/components/schemas/proxy.v1.service.short_code"
},
"type": "array"
}
},
"title": "ListShortCodeResponse",
"type": "object"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Add a Short Code to the Proxy Number Pool for the Service.",
"operationId": "CreateShortCode",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"Sid": {
"description": "The SID of a Twilio [ShortCode](https://www.twilio.com/docs/sms/api/short-code) resource that represents the short code you would like to assign to your Proxy Service.",
"maxLength": 34,
"minLength": 34,
"pattern": "^SC[0-9a-fA-F]{32}$",
"type": "string"
}
},
"required": [
"Sid"
],
"title": "CreateShortCodeRequest",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.short_code"
}
}
},
"description": "Created"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"short_code",
"iso_country"
],
"parent": "/Services/{Sid}",
"pathType": "list"
}
},
"/v1/Services/{ServiceSid}/ShortCodes/{Sid}": {
"delete": {
"description": "Delete a specific Short Code from a Service.",
"operationId": "DeleteShortCode",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource to delete the ShortCode resource from.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the ShortCode resource to delete.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^SC[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The resource was deleted successfully."
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"description": "TODO: Resource-level docs",
"get": {
"description": "Fetch a specific Short Code.",
"operationId": "FetchShortCode",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to fetch the resource from.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the ShortCode resource to fetch.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^SC[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.short_code"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Update a specific Short Code.",
"operationId": "UpdateShortCode",
"parameters": [
{
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to update.",
"in": "path",
"name": "ServiceSid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
},
{
"description": "The Twilio-provided string that uniquely identifies the ShortCode resource to update.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^SC[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"IsReserved": {
"description": "Whether the short code should be reserved and not be assigned to a participant using proxy pool logic. See [Reserved Phone Numbers](https://www.twilio.com/docs/proxy/reserved-phone-numbers) for more information.",
"type": "boolean"
}
},
"title": "UpdateShortCodeRequest",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service.short_code"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"short_code",
"iso_country"
],
"parent": "/Services/{Sid}",
"pathType": "instance"
}
},
"/v1/Services/{Sid}": {
"delete": {
"description": "Delete a specific Service.",
"operationId": "DeleteService",
"parameters": [
{
"description": "The Twilio-provided string that uniquely identifies the Service resource to delete.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The resource was deleted successfully."
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"description": "TODO: Resource-level docs",
"get": {
"description": "Fetch a specific Service.",
"operationId": "FetchService",
"parameters": [
{
"description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"post": {
"description": "Update a specific Service.",
"operationId": "UpdateService",
"parameters": [
{
"description": "The Twilio-provided string that uniquely identifies the Service resource to update.",
"in": "path",
"name": "Sid",
"required": true,
"schema": {
"maxLength": 34,
"minLength": 34,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"CallbackUrl": {
"description": "The URL we should call when the interaction status changes.",
"format": "uri",
"type": "string"
},
"ChatInstanceSid": {
"description": "The SID of the Chat Service Instance managed by Proxy Service. The Chat Service enables Proxy to forward SMS and channel messages to this chat instance. This is a one-to-one relationship.",
"maxLength": 34,
"minLength": 34,
"pattern": "^IS[0-9a-fA-F]{32}$",
"type": "string"
},
"DefaultTtl": {
"description": "The default `ttl` value to set for Sessions created in the Service. The TTL (time to live) is measured in seconds after the Session's last create or last Interaction. The default value of `0` indicates an unlimited Session length. You can override a Session's default TTL value by setting its `ttl` value.",
"type": "integer"
},
"GeoMatchLevel": {
"$ref": "#/components/schemas/service_enum_geo_match_level",
"description": "Where a proxy number must be located relative to the participant identifier. Can be: `country`, `area-code`, or `extended-area-code`. The default value is `country` and more specific areas than `country` are only available in North America.",
"type": "string"
},
"InterceptCallbackUrl": {
"description": "The URL we call on each interaction. If we receive a 403 status, we block the interaction; otherwise the interaction continues.",
"format": "uri",
"type": "string"
},
"NumberSelectionBehavior": {
"$ref": "#/components/schemas/service_enum_number_selection_behavior",
"description": "The preference for Proxy Number selection in the Service instance. Can be: `prefer-sticky` or `avoid-sticky` and the default is `prefer-sticky`. `prefer-sticky` means that we will try and select the same Proxy Number for a given participant if they have previous [Sessions](https://www.twilio.com/docs/proxy/api/session), but we will not fail if that Proxy Number cannot be used. `avoid-sticky` means that we will try to use different Proxy Numbers as long as that is possible within a given pool rather than try and use a previously assigned number.",
"type": "string"
},
"OutOfSessionCallbackUrl": {
"description": "The URL we should call when an inbound call or SMS action occurs on a closed or non-existent Session. If your server (or a Twilio [function](https://www.twilio.com/functions)) responds with valid [TwiML](https://www.twilio.com/docs/voice/twiml), we will process it. This means it is possible, for example, to play a message for a call, send an automated text message response, or redirect a call to another Phone Number. See [Out-of-Session Callback Response Guide](https://www.twilio.com/docs/proxy/out-session-callback-response-guide) for more information.",
"format": "uri",
"type": "string"
},
"UniqueName": {
"description": "An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. **This value should not have PII.**",
"type": "string"
}
},
"title": "UpdateServiceRequest",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/proxy.v1.service"
}
}
},
"description": "OK"
}
},
"security": [
{
"accountSid_authToken": []
}
],
"x-maturity": [
"Beta"
]
},
"servers": [
{
"url": "https://proxy.twilio.com"
}
],
"x-twilio": {
"defaultOutputProperties": [
"sid",
"unique_name",
"date_created"
],
"pathType": "instance"
}
}
},
"components": {
"schemas": {
"interaction_enum_resource_status": {
"enum": [
"accepted",
"answered",
"busy",
"canceled",
"completed",
"deleted",
"delivered",
"delivery-unknown",
"failed",
"in-progress",
"initiated",
"no-answer",
"queued",
"received",
"receiving",
"ringing",
"scheduled",
"sending",
"sent",
"undelivered",
"unknown"
],
"type": "string"
},
"interaction_enum_type": {
"enum": [
"message",
"voice",
"unknown"
],
"type": "string"
},
"message_interaction_enum_resource_status": {
"enum": [
"accepted",
"answered",
"busy",
"canceled",
"completed",
"deleted",
"delivered",
"delivery-unknown",
"failed",
"in-progress",
"initiated",
"no-answer",
"queued",
"received",
"receiving",
"ringing",
"scheduled",
"sending",
"sent",
"undelivered",
"unknown"
],
"type": "string"
},
"message_interaction_enum_type": {
"enum": [
"message",
"voice",
"unknown"
],
"type": "string"
},
"proxy.v1.service": {
"properties": {
"account_sid": {
"description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Service resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^AC[0-9a-fA-F]{32}$",
"type": "string"
},
"callback_url": {
"description": "The URL we call when the interaction status changes.",
"format": "uri",
"nullable": true,
"type": "string"
},
"chat_instance_sid": {
"description": "The SID of the Chat Service Instance managed by Proxy Service. The Chat Service enables Proxy to forward SMS and channel messages to this chat instance. This is a one-to-one relationship.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^IS[0-9a-fA-F]{32}$",
"type": "string"
},
"date_created": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_updated": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"default_ttl": {
"description": "The default `ttl` value for Sessions created in the Service. The TTL (time to live) is measured in seconds after the Session's last create or last Interaction. The default value of `0` indicates an unlimited Session length. You can override a Session's default TTL value by setting its `ttl` value.",
"nullable": true,
"type": "integer"
},
"geo_match_level": {
"$ref": "#/components/schemas/service_enum_geo_match_level",
"description": "Where a proxy number must be located relative to the participant identifier. Can be: `country`, `area-code`, or `extended-area-code`. The default value is `country` and more specific areas than `country` are only available in North America.",
"nullable": true,
"type": "string"
},
"intercept_callback_url": {
"description": "The URL we call on each interaction. If we receive a 403 status, we block the interaction; otherwise the interaction continues.",
"format": "uri",
"nullable": true,
"type": "string"
},
"links": {
"description": "The URLs of resources related to the Service.",
"format": "uri-map",
"nullable": true,
"type": "object"
},
"number_selection_behavior": {
"$ref": "#/components/schemas/service_enum_number_selection_behavior",
"description": "The preference for Proxy Number selection in the Service instance. Can be: `prefer-sticky` or `avoid-sticky`. `prefer-sticky` means that we will try and select the same Proxy Number for a given participant if they have previous [Sessions](https://www.twilio.com/docs/proxy/api/session), but we will not fail if that Proxy Number cannot be used. `avoid-sticky` means that we will try to use different Proxy Numbers as long as that is possible within a given pool rather than try and use a previously assigned number.",
"nullable": true,
"type": "string"
},
"out_of_session_callback_url": {
"description": "The URL we call when an inbound call or SMS action occurs on a closed or non-existent Session. If your server (or a Twilio [function](https://www.twilio.com/functions)) responds with valid [TwiML](https://www.twilio.com/docs/voice/twiml), we will process it. This means it is possible, for example, to play a message for a call, send an automated text message response, or redirect a call to another Phone Number. See [Out-of-Session Callback Response Guide](https://www.twilio.com/docs/proxy/out-session-callback-response-guide) for more information.",
"format": "uri",
"nullable": true,
"type": "string"
},
"sid": {
"description": "The unique string that we created to identify the Service resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
},
"unique_name": {
"description": "An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. Supports UTF-8 characters. **This value should not have PII.**",
"nullable": true,
"type": "string"
},
"url": {
"description": "The absolute URL of the Service resource.",
"format": "uri",
"nullable": true,
"type": "string"
}
},
"type": "object"
},
"proxy.v1.service.phone_number": {
"properties": {
"account_sid": {
"description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the PhoneNumber resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^AC[0-9a-fA-F]{32}$",
"type": "string"
},
"capabilities": {
"description": "The capabilities of the phone number.",
"format": "phone-number-capabilities",
"nullable": true,
"properties": {
"fax": {
"type": "boolean"
},
"mms": {
"type": "boolean"
},
"sms": {
"type": "boolean"
},
"voice": {
"type": "boolean"
}
},
"type": "object"
},
"date_created": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_updated": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"friendly_name": {
"description": "The string that you assigned to describe the resource.",
"nullable": true,
"type": "string"
},
"in_use": {
"description": "The number of open session assigned to the number. See the [How many Phone Numbers do I need?](https://www.twilio.com/docs/proxy/phone-numbers-needed) guide for more information.",
"nullable": true,
"type": "integer"
},
"is_reserved": {
"description": "Whether the phone number should be reserved and not be assigned to a participant using proxy pool logic. See [Reserved Phone Numbers](https://www.twilio.com/docs/proxy/reserved-phone-numbers) for more information.",
"nullable": true,
"type": "boolean"
},
"iso_country": {
"description": "The ISO Country Code for the phone number.",
"nullable": true,
"type": "string"
},
"phone_number": {
"description": "The phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, which consists of a + followed by the country code and subscriber number.",
"format": "phone-number",
"nullable": true,
"type": "string"
},
"service_sid": {
"description": "The SID of the PhoneNumber resource's parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
},
"sid": {
"description": "The unique string that we created to identify the PhoneNumber resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^PN[0-9a-fA-F]{32}$",
"type": "string"
},
"url": {
"description": "The absolute URL of the PhoneNumber resource.",
"format": "uri",
"nullable": true,
"type": "string"
}
},
"type": "object"
},
"proxy.v1.service.session": {
"properties": {
"account_sid": {
"description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Session resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^AC[0-9a-fA-F]{32}$",
"type": "string"
},
"closed_reason": {
"description": "The reason the Session ended.",
"nullable": true,
"type": "string"
},
"date_created": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_ended": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session ended.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_expiry": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the `ttl` value.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_last_interaction": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session last had an interaction.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_started": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session started.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_updated": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"links": {
"description": "The URLs of resources related to the Session.",
"format": "uri-map",
"nullable": true,
"type": "object"
},
"mode": {
"$ref": "#/components/schemas/session_enum_mode",
"description": "The Mode of the Session. Can be: `message-only`, `voice-only`, or `voice-and-message`.",
"nullable": true,
"type": "string"
},
"service_sid": {
"description": "The SID of the [Service](https://www.twilio.com/docs/proxy/api/service) the session is associated with.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
},
"sid": {
"description": "The unique string that we created to identify the Session resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
},
"status": {
"$ref": "#/components/schemas/session_enum_status",
"description": "The status of the Session. Can be: `open`, `in-progress`, `closed`, `failed`, or `unknown`.",
"nullable": true,
"type": "string"
},
"ttl": {
"description": "The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session's last Interaction.",
"nullable": true,
"type": "integer"
},
"unique_name": {
"description": "An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. Supports UTF-8 characters. **This value should not have PII.**",
"nullable": true,
"type": "string"
},
"url": {
"description": "The absolute URL of the Session resource.",
"format": "uri",
"nullable": true,
"type": "string"
}
},
"type": "object"
},
"proxy.v1.service.session.interaction": {
"properties": {
"account_sid": {
"description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Interaction resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^AC[0-9a-fA-F]{32}$",
"type": "string"
},
"data": {
"description": "A JSON string that includes the message body of message interactions (e.g. `{\"body\": \"hello\"}`) or the call duration (when available) of a call (e.g. `{\"duration\": \"5\"}`).",
"nullable": true,
"type": "string"
},
"date_created": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the Interaction was created.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_updated": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"inbound_participant_sid": {
"description": "The SID of the inbound [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
},
"inbound_resource_sid": {
"description": "The SID of the inbound resource; either the [Call](https://www.twilio.com/docs/voice/api/call-resource) or [Message](https://www.twilio.com/docs/sms/api/message.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$",
"type": "string"
},
"inbound_resource_status": {
"$ref": "#/components/schemas/interaction_enum_resource_status",
"description": "The inbound resource status of the Interaction. Will always be `delivered` for messages and `in-progress` for calls.",
"nullable": true,
"type": "string"
},
"inbound_resource_type": {
"description": "The inbound resource type. Can be [Call](https://www.twilio.com/docs/voice/api/call-resource) or [Message](https://www.twilio.com/docs/sms/api/message-resource).",
"nullable": true,
"type": "string"
},
"inbound_resource_url": {
"description": "The URL of the Twilio inbound resource",
"format": "uri",
"nullable": true,
"type": "string"
},
"outbound_participant_sid": {
"description": "The SID of the outbound [Participant](https://www.twilio.com/docs/proxy/api/participant)).",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
},
"outbound_resource_sid": {
"description": "The SID of the outbound resource; either the [Call](https://www.twilio.com/docs/voice/api/call-resource) or [Message](https://www.twilio.com/docs/sms/api/message-resource).",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$",
"type": "string"
},
"outbound_resource_status": {
"$ref": "#/components/schemas/interaction_enum_resource_status",
"description": "The outbound resource status of the Interaction. Can be: `accepted`, `canceled`, `deleted`, `delivered`, `delivery-unknown`, `failed`, `partially-delivered`, `queued`, `read`, `received`, `receiving`, `scheduled`, `sending`, `sent`, `undelivered`, or `unknown` for messages. Can be `initiated` or `completed` or `unknown` for calls.",
"nullable": true,
"type": "string"
},
"outbound_resource_type": {
"description": "The outbound resource type. Can be: [Call](https://www.twilio.com/docs/voice/api/call-resource) or [Message](https://www.twilio.com/docs/sms/api/message-resource).",
"nullable": true,
"type": "string"
},
"outbound_resource_url": {
"description": "The URL of the Twilio outbound resource.",
"format": "uri",
"nullable": true,
"type": "string"
},
"service_sid": {
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
},
"session_sid": {
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
},
"sid": {
"description": "The unique string that we created to identify the Interaction resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KI[0-9a-fA-F]{32}$",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/interaction_enum_type",
"description": "The Type of the Interaction. Can be: `message`, `voice` or `unknown`.",
"nullable": true,
"type": "string"
},
"url": {
"description": "The absolute URL of the Interaction resource.",
"format": "uri",
"nullable": true,
"type": "string"
}
},
"type": "object"
},
"proxy.v1.service.session.participant": {
"properties": {
"account_sid": {
"description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^AC[0-9a-fA-F]{32}$",
"type": "string"
},
"date_created": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_deleted": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Participant was removed from the session.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_updated": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"friendly_name": {
"description": "The string that you assigned to describe the participant. This value must be 255 characters or fewer. Supports UTF-8 characters. **This value should not have PII.**",
"nullable": true,
"type": "string"
},
"identifier": {
"description": "The phone number or channel identifier of the Participant. This value must be 191 characters or fewer. Supports UTF-8 characters.",
"nullable": true,
"type": "string"
},
"links": {
"description": "The URLs to resources related the participant.",
"format": "uri-map",
"nullable": true,
"type": "object"
},
"proxy_identifier": {
"description": "The phone number or short code (masked number) of the participant's partner. The participant will call or message the partner participant at this number.",
"nullable": true,
"type": "string"
},
"proxy_identifier_sid": {
"description": "The SID of the Proxy Identifier assigned to the Participant.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^PN[0-9a-fA-F]{32}$",
"type": "string"
},
"service_sid": {
"description": "The SID of the resource's parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
},
"session_sid": {
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
},
"sid": {
"description": "The unique string that we created to identify the Participant resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
},
"url": {
"description": "The absolute URL of the Participant resource.",
"format": "uri",
"nullable": true,
"type": "string"
}
},
"type": "object"
},
"proxy.v1.service.session.participant.message_interaction": {
"properties": {
"account_sid": {
"description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the MessageInteraction resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^AC[0-9a-fA-F]{32}$",
"type": "string"
},
"data": {
"description": "A JSON string that includes the message body sent to the participant. (e.g. `{\"body\": \"hello\"}`)",
"nullable": true,
"type": "string"
},
"date_created": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_updated": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"inbound_participant_sid": {
"description": "Always empty for created Message Interactions.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
},
"inbound_resource_sid": {
"description": "Always empty for created Message Interactions.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$",
"type": "string"
},
"inbound_resource_status": {
"$ref": "#/components/schemas/message_interaction_enum_resource_status",
"description": "Always empty for created Message Interactions.",
"nullable": true,
"type": "string"
},
"inbound_resource_type": {
"description": "Always empty for created Message Interactions.",
"nullable": true,
"type": "string"
},
"inbound_resource_url": {
"description": "Always empty for created Message Interactions.",
"format": "uri",
"nullable": true,
"type": "string"
},
"outbound_participant_sid": {
"description": "The SID of the outbound [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
},
"outbound_resource_sid": {
"description": "The SID of the outbound [Message](https://www.twilio.com/docs/sms/api/message-resource) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^[a-zA-Z]{2}[0-9a-fA-F]{32}$",
"type": "string"
},
"outbound_resource_status": {
"$ref": "#/components/schemas/message_interaction_enum_resource_status",
"description": "The outbound message resource status. Can be: `accepted`, `deleted`, `delivered`, `delivery-unknown`, `failed`, `queued`, `received`, `receiving`, `scheduled`, `sending`, `sent`, `undelivered`, or `unknown`.",
"nullable": true,
"type": "string"
},
"outbound_resource_type": {
"description": "The outbound resource type. This value is always `Message`.",
"nullable": true,
"type": "string"
},
"outbound_resource_url": {
"description": "The URL of the Twilio message resource.",
"format": "uri",
"nullable": true,
"type": "string"
},
"participant_sid": {
"description": "The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KP[0-9a-fA-F]{32}$",
"type": "string"
},
"service_sid": {
"description": "The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
},
"session_sid": {
"description": "The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KC[0-9a-fA-F]{32}$",
"type": "string"
},
"sid": {
"description": "The unique string that we created to identify the MessageInteraction resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KI[0-9a-fA-F]{32}$",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/message_interaction_enum_type",
"description": "The Type of Message Interaction. This value is always `message`.",
"nullable": true,
"type": "string"
},
"url": {
"description": "The absolute URL of the MessageInteraction resource.",
"format": "uri",
"nullable": true,
"type": "string"
}
},
"type": "object"
},
"proxy.v1.service.short_code": {
"properties": {
"account_sid": {
"description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the ShortCode resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^AC[0-9a-fA-F]{32}$",
"type": "string"
},
"capabilities": {
"description": "The capabilities of the short code.",
"format": "phone-number-capabilities",
"nullable": true,
"properties": {
"fax": {
"type": "boolean"
},
"mms": {
"type": "boolean"
},
"sms": {
"type": "boolean"
},
"voice": {
"type": "boolean"
}
},
"type": "object"
},
"date_created": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"date_updated": {
"description": "The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.",
"format": "date-time",
"nullable": true,
"type": "string"
},
"is_reserved": {
"description": "Whether the short code should be reserved and not be assigned to a participant using proxy pool logic. See [Reserved Phone Numbers](https://www.twilio.com/docs/proxy/reserved-phone-numbers) for more information.",
"nullable": true,
"type": "boolean"
},
"iso_country": {
"description": "The ISO Country Code for the short code.",
"nullable": true,
"type": "string"
},
"service_sid": {
"description": "The SID of the ShortCode resource's parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^KS[0-9a-fA-F]{32}$",
"type": "string"
},
"short_code": {
"description": "The short code's number.",
"nullable": true,
"type": "string"
},
"sid": {
"description": "The unique string that we created to identify the ShortCode resource.",
"maxLength": 34,
"minLength": 34,
"nullable": true,
"pattern": "^SC[0-9a-fA-F]{32}$",
"type": "string"
},
"url": {
"description": "The absolute URL of the ShortCode resource.",
"format": "uri",
"nullable": true,
"type": "string"
}
},
"type": "object"
},
"service_enum_geo_match_level": {
"enum": [
"area-code",
"overlay",
"radius",
"country"
],
"type": "string"
},
"service_enum_number_selection_behavior": {
"enum": [
"avoid-sticky",
"prefer-sticky"
],
"type": "string"
},
"session_enum_mode": {
"enum": [
"message-only",
"voice-only",
"voice-and-message"
],
"type": "string"
},
"session_enum_status": {
"enum": [
"open",
"in-progress",
"closed",
"failed",
"unknown"
],
"type": "string"
}
},
"securitySchemes": {
"accountSid_authToken": {
"scheme": "basic",
"type": "http"
}
}
},
"x-maturity": [
{
"description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.",
"name": "Beta"
}
]
}